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(_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 26 _NL_ADDRESS_POSTAL_FMT 27 _NL_ADDRESS_COUNTRY_NAME 28 _NL_ADDRESS_COUNTRY_POST 29 _NL_ADDRESS_COUNTRY_AB2 30 _NL_ADDRESS_COUNTRY_AB3 31 _NL_ADDRESS_COUNTRY_CAR 32 _NL_ADDRESS_COUNTRY_NUM 33 _NL_ADDRESS_COUNTRY_ISBN 34 _NL_ADDRESS_LANG_NAME 35 _NL_ADDRESS_LANG_AB 36 _NL_ADDRESS_LANG_TERM 37 _NL_ADDRESS_LANG_LIB 38 _NL_IDENTIFICATION_TITLE 39 _NL_IDENTIFICATION_SOURCE 40 _NL_IDENTIFICATION_ADDRESS 41 _NL_IDENTIFICATION_CONTACT 42 _NL_IDENTIFICATION_EMAIL 43 _NL_IDENTIFICATION_TEL 44 _NL_IDENTIFICATION_FAX 45 _NL_IDENTIFICATION_LANGUAGE 46 _NL_IDENTIFICATION_TERRITORY 47 _NL_IDENTIFICATION_AUDIENCE 48 _NL_IDENTIFICATION_APPLICATION 49 _NL_IDENTIFICATION_ABBREVIATION 50 _NL_IDENTIFICATION_REVISION 51 _NL_IDENTIFICATION_DATE 52 _NL_IDENTIFICATION_CATEGORY 53 _NL_MEASUREMENT_MEASUREMENT 54 _NL_NAME_NAME_FMT 55 _NL_NAME_NAME_GEN 56 _NL_NAME_NAME_MR 57 _NL_NAME_NAME_MRS 58 _NL_NAME_NAME_MISS 59 _NL_NAME_NAME_MS 60 _NL_PAPER_HEIGHT 61 _NL_PAPER_WIDTH 62 _NL_TELEPHONE_TEL_INT_FMT 63 _NL_TELEPHONE_TEL_DOM_FMT 64 _NL_TELEPHONE_INT_SELECT 65 _NL_TELEPHONE_INT_PREFIX 66 ); 67push @names, # This lot are only enums for __SVR4_I386_ABI_L1__: 68 {name=>$_, type=>"IV", 69 macro=>["#if defined($_) || (defined(__GNU_LIBRARY__) && defined(_NL_ITEM) && defined(__SVR4_I386_ABI_L1__))\n", 70 "#endif\n"]} 71 foreach qw (CRNCYSTR THOUSEP RADIXCHAR); 72 73ExtUtils::Constant::WriteConstants( 74 PROXYSUBS => {autoload => 1}, 75 NAME => 'I18N::Langinfo', 76 NAMES => \@names, 77 ); 78