1use ExtUtils::MakeMaker; 2use ExtUtils::Constant 0.23; 3 4WriteMakefile( 5 'NAME' => 'I18N::Langinfo', 6 'VERSION_FROM' => 'Langinfo.pm', # finds $VERSION 7 ABSTRACT_FROM => 'Langinfo.pm', # retrieve abstract from module 8 AUTHOR => 'Jarkko Hietaniemi <jhi@hut.fi>', 9 realclean => {FILES=> 'const-c.inc const-xs.inc'}, 10); 11 12# Some older versions of glibc use only enums, no defines, hence all this 13# hassle (so old glibc that the define is GNU_LIBRARY, not GLIBC): 14my @names = 'CODESET'; # CODESET isn't an enum in old glibc's langinfo.h 15push @names, # This lot are always enums in old langinfo.h: 16 {name=>$_, type=>"IV", 17 macro=>["#if defined($_) || (defined(__GNU_LIBRARY__) && defined(_NL_ITEM))\n", 18 "#endif\n"]} 19 foreach qw (ABDAY_1 ABDAY_2 ABDAY_3 ABDAY_4 ABDAY_5 ABDAY_6 ABDAY_7 20 ABMON_1 ABMON_10 ABMON_11 ABMON_12 ABMON_2 ABMON_3 ABMON_4 21 ABMON_5 ABMON_6 ABMON_7 ABMON_8 ABMON_9 ALT_DIGITS AM_STR 22 DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7 D_FMT D_T_FMT ERA 23 ERA_D_FMT ERA_D_T_FMT ERA_T_FMT MON_1 MON_10 MON_11 MON_12 24 MON_2 MON_3 MON_4 MON_5 MON_6 MON_7 MON_8 MON_9 NOEXPR NOSTR 25 PM_STR T_FMT T_FMT_AMPM YESEXPR YESSTR); 26push @names, # This lot are only enums for __SVR4_I386_ABI_L1__: 27 {name=>$_, type=>"IV", 28 macro=>["#if defined($_) || (defined(__GNU_LIBRARY__) && defined(_NL_ITEM) && defined(__SVR4_I386_ABI_L1__))\n", 29 "#endif\n"]} 30 foreach qw (CRNCYSTR THOUSEP RADIXCHAR); 31 32ExtUtils::Constant::WriteConstants( 33 PROXYSUBS => {autoload => 1}, 34 NAME => 'I18N::Langinfo', 35 NAMES => \@names, 36 ); 37