use Cwd qw( abs_path );
use File::Basename qw( dirname );
-sub mm_args {
- my $root = shift;
+sub ccflags_dyn {
+ my $is_dev = shift;
+
+ my $ccflags = q<( $Config::Config{ccflags} || '' ) . ' -I.'>;
+ $ccflags .= q< . ' -Wall -Wdeclaration-after-statement'>
+ if $is_dev;
- my $ccflags = ( $Config::Config{ccflags} || '' ) . ' -I.';
- $ccflags .= ' -Wall -Wdeclaration-after-statement';
+ return $ccflags;
+}
- my %mm = ( CCFLAGS => $ccflags );
+sub ccflags_static {
+ my $is_dev = shift;
+ return eval(ccflags_dyn($is_dev));
+}
+
+sub mm_args {
my ( @object, %xs );
- for my $xs ( glob "$root/xs/*.xs" ) {
+ for my $xs ( glob "xs/*.xs" ) {
( my $c = $xs ) =~ s/\.xs$/.c/i;
( my $o = $xs ) =~ s/\.xs$/\$(OBJ_EXT)/i;
push @object, $o;
}
- for my $c ( glob "$root/*.c" ) {
+ for my $c ( glob "*.c" ) {
( my $o = $c ) =~ s/\.c$/\$(OBJ_EXT)/i;
push @object, $o;
}
return (
- CCFLAGS => $ccflags,
clean => { FILES => join( q{ }, @object ) },
OBJECT => join( q{ }, @object ),
XS => \%xs,
sub my_package_subs {
return <<'EOP';
+{
package MY;
use Config;
$(OBJECT) : mop.h
EOF
}
+}
EOP
}