microperl plus missing config vars
Jarkko Hietaniemi [Sat, 31 Mar 2007 17:50:18 +0000 (13:50 -0400)]
Message-ID: <460ED79A.5030809@iki.fi>

p4raw-id: //depot/perl@30823

14 files changed:
Cross/config.sh-arm-linux
Makefile.micro
NetWare/config.wc
Porting/checkcfgvar.pl
README.micro
epoc/config.sh
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
win32/config.bc
win32/config.ce
win32/config.vc
win32/config.vc64

index ce98b3d..aa169c6 100644 (file)
@@ -123,9 +123,10 @@ d_bcopy='define'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
-d_builtin_expect='define'
 d_builtin_choose_expr='define'
+d_builtin_expect='define'
 d_bzero='define'
+d_c99_variadic_macros='undef'
 d_casti32='define'
 d_castneg='define'
 d_charvspr='undef'
@@ -138,12 +139,13 @@ d_closedir='define'
 d_cmsghdr_s='define'
 d_const='define'
 d_copysignl='define'
+d_cplusplus='undef'
 d_crypt='define'
 d_crypt_r='undef'
 d_csh='define'
+d_ctermid='undef'
 d_ctermid_r='undef'
 d_ctime_r='undef'
-d_c99_variadic_macros='undef'
 d_cuserid='define'
 d_dbl_dig='define'
 d_dbminitproto='undef'
@@ -341,7 +343,9 @@ d_phostname='undef'
 d_pipe='define'
 d_poll='define'
 d_portable='define'
+d_printf_format_null='undef'
 d_procselfexe='define'
+d_pseudofork='undef'
 d_pthread_atfork='undef'
 d_pthread_attr_setscope='define'
 d_pthread_yield='undef'
@@ -421,6 +425,7 @@ d_shmctl='define'
 d_shmdt='define'
 d_shmget='define'
 d_sigaction='define'
+d_signbit='define'
 d_sigprocmask='define'
 d_sigsetjmp='define'
 d_sitearch='define'
@@ -995,8 +1000,8 @@ useposix='true'
 usereentrant='undef'
 userelocatableinc='undef'
 usesfio='false'
-usesitecustomize='undef'
 useshrplib='true'
+usesitecustomize='undef'
 usesocks='undef'
 usethreads='undef'
 usevendorprefix='undef'
index 890140b..61a758e 100644 (file)
@@ -5,6 +5,7 @@ CFLAGS = $(DEFINES) $(OPTIMIZE)
 LIBS = -lm
 _O = .o
 ENV = env
+PERL = perl
 
 all:   microperl
 
@@ -36,6 +37,11 @@ distclean:   clean
 
 # The microconfiguration.
 
+# Cannot use $$ in the command line itself, so using var expansion instead.
+Config = '$$Config{$$1}'
+patch_uconfig:
+       $(PERL) -MConfig -pi -e "s/^((?:short|int|long(?:dbl|long)?|ptr|double|[iun]v|u?quad|[iu]\d+|fpos|lseek)(?:size|type)|byteorder|d_quad|quadkind|use64.+)=.*/\\1='"$(Config)"'/g" uconfig.shx
+
 regen_uconfig uconfig.h: uconfig.sh
        $(ENV) CONFIG_SH=uconfig.sh CONFIG_H=uconfig.h sh ./config_h.SH
 
index e84b02e..f818359 100644 (file)
@@ -111,7 +111,10 @@ d_bcopy='undef'
 d_bsd='define'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_choose_expr='undef'
+d_builtin_expect='undef'
 d_bzero='undef'
+d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='define'
 d_charvspr='undef'
@@ -128,9 +131,9 @@ d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
 d_ctime_r='undef'
-d_c99_variadic_macros='undef'
 d_cuserid='undef'
 d_dbl_dig='define'
 d_dbminitproto='undef'
@@ -256,6 +259,7 @@ d_grpasswd='undef'
 d_hasmntopt='undef'
 d_htonl='define'
 d_ilogbl='undef'
+d_inc_version_list='undef'
 d_index='undef'
 d_inetaton='undef'
 d_int64_t='undef'
@@ -329,7 +333,9 @@ d_phostname='undef'
 d_pipe='define'
 d_poll='undef'
 d_portable='define'
+d_printf_format_null='undef'
 d_procselfexe='undef'
+d_pseudofork='undef'
 d_pthread_atfork='undef'
 d_pthread_attr_setscope='undef'
 d_pthread_yield='undef'
@@ -410,8 +416,10 @@ d_shmctl='undef'
 d_shmdt='undef'
 d_shmget='undef'
 d_sigaction='undef'
+d_signbit='undef'
 d_sigprocmask='undef'
 d_sigsetjmp='undef'
+d_sitearch='undef'
 d_snprintf='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -497,12 +505,15 @@ d_vsnprintf='undef'
 d_wait4='undef'
 d_waitpid='define'
 d_wcstombs='define'
-d_writev='undef'
 d_wctomb='define'
+d_writev='undef'
 d_xenix='undef'
 date='date'
 db_hashtype='int'
 db_prefixtype='int'
+db_version_major='0'
+db_version_minor='0'
+db_version_patch='0'
 def_perlroot='sys:\perl\scripts'
 def_temp='sys:\perl\temp'
 defvoidused='15'
@@ -758,6 +769,7 @@ mydomain=''
 myhostname=''
 myuname=''
 n='-n'
+need_va_copy='define'
 netdb_hlen_type='int'
 netdb_host_type='char *'
 netdb_name_type='char *'
@@ -770,12 +782,12 @@ nroff=''
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
 nvsize='8'
 nvtype='double'
-nv_preserves_uv_bits='32'
 o_nonblock='O_NONBLOCK'
 obj_ext='.obj'
 old_pthread_create_joinable=''
@@ -783,6 +795,7 @@ optimize='-O'
 orderlib='false'
 osname='NetWare'
 osvers='5.x'
+otherlibdirs=''
 package='perl5'
 pager='more /e'
 passcat=''
@@ -904,6 +917,7 @@ subversion='~SUBVERSION~'
 sysman='/usr/man/man1'
 tail=''
 tar=''
+targetarch=''
 tbl=''
 tee=''
 test=''
@@ -930,11 +944,11 @@ uidtype='uid_t'
 uname='uname'
 uniq='uniq'
 uquadtype='unsigned __int64'
+use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
-usedl='define'
-use5005threads='undef'
 usecrosscompile='undef'
+usedl='define'
 usefaststdio='undef'
 useithreads='define'
 uselargefiles='undef'
index fc0f8c6..3f14b6f 100644 (file)
@@ -50,8 +50,7 @@ sub read_file {
 sub config_h_SH_reader {
     my $cfg = shift;
     return sub {
-       return if 1../^echo \"Extracting \$CONFIG_H/;
-       while (/[^\\]\$(\w+)/g) {
+       while (/[^\\]\$([a-z]\w+)/g) {
            my $v = $1;
            next if $v =~ /^(CONFIG_H|CONFIG_SH)$/;
            $cfg->{$v}++;
index 457778c..040fcff 100644 (file)
@@ -24,4 +24,12 @@ If you make changes to uconfig.sh, run
 
        make -f Makefile.micro regen_uconfig
 
-to regenerate uconfig.h.
+to regenerate uconfig.h.  If your compilation platform is not 32-bit
+little-endian (like x86), you might want to try
+
+       make -f Makefile.micro patch_uconfig
+
+*before* the "make -f Makefile.micro".  This tries to minimally patch
+the uconfig.sh using your *current* Perl so that your microperl has
+the correct basic types and sizes and byteorder.
+
index ad559c8..1971ff3 100644 (file)
@@ -1155,3 +1155,19 @@ nvfformat='"f"'
 nvgformat='"g"'
 sSCNfldbl=''
 uquadtype='uint64_t'
+d_builtin_choose_expr='undef'
+d_builtin_expect='undef'
+d_ctermid='undef'
+d_inc_version_list='undef'
+d_libm_lib_version='0'
+d_printf_format_null='undef'
+d_pseudofork='undef'
+d_signbit='undef'
+d_sitearch='undef'
+db_version_major='0'
+db_version_minor='0'
+db_version_patch='0'
+targetarch=''
+vendorarch=''
+vendorarchexp=''
+
index 86771d9..f112ba9 100644 (file)
@@ -123,7 +123,10 @@ d_bcopy='define'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_choose_expr='undef'
+d_builtin_expect='undef'
 d_bzero='define'
+d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='undef'
 d_charvspr='define'
@@ -136,12 +139,13 @@ d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
 d_ctime_r='undef'
-d_c99_variadic_macros='undef'
 d_cuserid='define'
 d_dbl_dig='define'
 d_dbminitproto='undef'
@@ -265,6 +269,7 @@ d_grpasswd='undef'
 d_hasmntopt='undef'
 d_htonl='define'
 d_ilogbl='undef'
+d_inc_version_list='undef'
 d_index='undef'
 d_inetaton='undef'
 d_int64_t='define'
@@ -276,6 +281,7 @@ d_isnanl='undef'
 d_killpg='undef'
 d_lchown='undef'
 d_ldbl_dig='define'
+d_libm_lib_version='0'
 d_link='define'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -304,8 +310,8 @@ d_mkstemps='undef'
 d_mktime='define'
 d_mmap='undef'
 d_modfl='undef'
-d_modflproto='undef'
 d_modfl_pow32_bug='undef'
+d_modflproto='undef'
 d_mprotect='undef'
 d_msg='undef'
 d_msg_ctrunc='undef'
@@ -337,7 +343,9 @@ d_phostname='undef'
 d_pipe='define'
 d_poll='undef'
 d_portable='define'
+d_printf_format_null='undef'
 d_procselfexe='undef'
+d_pseudofork='undef'
 d_pthread_atfork='undef'
 d_pthread_attr_setscope='undef'
 d_pthread_yield='undef'
@@ -365,8 +373,8 @@ d_safebcpy='undef'
 d_safemcpy='undef'
 d_sanemcmp='define'
 d_sbrkproto='undef'
-d_sched_yield='undef'
 d_scalbnl='undef'
+d_sched_yield='undef'
 d_scm_rights='undef'
 d_seekdir='undef'
 d_select='define'
@@ -417,9 +425,10 @@ d_shmctl='undef'
 d_shmdt='undef'
 d_shmget='undef'
 d_sigaction='define'
+d_signbit='define'
 d_sigprocmask='define'
 d_sigsetjmp='define'
-d_sprintf_returns_strlen='undef'
+d_sitearch='define'
 d_snprintf='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -427,6 +436,7 @@ d_socket='define'
 d_socklen_t='undef'
 d_sockpair='define'
 d_socks5_init='undef'
+d_sprintf_returns_strlen='undef'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
index 5a1b811..30d4848 100644 (file)
@@ -20,6 +20,8 @@ castflags='0'
 cc='gcc'
 cccdlflags=''
 ccdlflags=''
+cf_by='root@localhost'
+cf_time='Thu Jan  1 00:00:00 GMT 1970'
 charsize='1'
 clocktype='clock_t'
 cpp_stuff='42'
@@ -369,6 +371,7 @@ d_shmctl='undef'
 d_shmdt='undef'
 d_shmget='undef'
 d_sigaction='undef'
+d_signbit='undef'
 d_sigprocmask='undef'
 d_sigsetjmp='undef'
 d_sitearch='define'
@@ -734,6 +737,7 @@ so='o'
 socksizetype='unsigned int'
 srand48_r_proto='0'
 srandom_r_proto='0'
+src=''
 ssizetype=int
 startperl=''
 stdchar=char
index d618b03..197b390 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  *     This symbol is the type of pointer returned by malloc and realloc.
  */
 #define Malloc_t void *                        /**/
-#define Free_t int                     /**/
+#define Free_t void                    /**/
 
 /* PERL_MALLOC_WRAP:
  *     This symbol, if defined, indicates that we'd like malloc wrap checks.
index 0c48785..22e8f03 100755 (executable)
@@ -364,6 +364,7 @@ d_shmctl='undef'
 d_shmdt='undef'
 d_shmget='undef'
 d_sigaction='undef'
+d_signbit='undef'
 d_sigprocmask='undef'
 d_sigsetjmp='undef'
 d_sitearch='undef'
@@ -478,7 +479,9 @@ fflushall='undef'
 firstmakefile='makefile'
 fpossize='4'
 fpostype=int
-freetype=int
+freetype=void
+full_csh=''
+full_sed=''
 getgrent_r_proto='0'
 getgrgid_r_proto='0'
 getgrnam_r_proto='0'
@@ -685,7 +688,7 @@ setpwent_r_proto='0'
 setservent_r_proto='0'
 sh='/bin/sh'
 shmattype='void *'
-shortsize=2
+shortsize='2'
 sig_name_init='0'
 sig_num_init='0'
 sig_size='1'
index b769d48..10a148b 100644 (file)
@@ -413,6 +413,7 @@ d_shmctl='undef'
 d_shmdt='undef'
 d_shmget='undef'
 d_sigaction='undef'
+d_signbit='undef'
 d_sigprocmask='undef'
 d_sigsetjmp='undef'
 d_sitearch='define'
index 32e4eea..c459ac5 100644 (file)
@@ -111,7 +111,10 @@ d_bcopy='undef'
 d_bsd='define'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_choose_expr='undef'
+d_builtin_expect='undef'
 d_bzero='undef'
+d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='define'
 d_charvspr='undef'
@@ -128,12 +131,14 @@ d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
 d_ctime_r='undef'
 d_cuserid='undef'
 d_dbl_dig='define'
 d_dbminitproto='undef'
 d_difftime='define'
+d_dir_dd_fd='undef'
 d_dirfd='undef'
 d_dirnamlen='define'
 d_dlerror='define'
@@ -328,7 +333,9 @@ d_phostname='undef'
 d_pipe='undef'
 d_poll='undef'
 d_portable='define'
+d_printf_format_null='undef'
 d_procselfexe='undef'
+d_pseudofork='undef'
 d_pthread_atfork='undef'
 d_pthread_attr_setscope='undef'
 d_pthread_yield='undef'
@@ -409,6 +416,7 @@ d_shmctl='undef'
 d_shmdt='undef'
 d_shmget='undef'
 d_sigaction='undef'
+d_signbit='undef'
 d_sigprocmask='undef'
 d_sigsetjmp='undef'
 d_sitearch='define'
@@ -503,6 +511,9 @@ d_xenix='undef'
 date='date'
 db_hashtype='int'
 db_prefixtype='int'
+db_version_major='0'
+db_version_minor='0'
+db_version_patch='0'
 defvoidused='15'
 direntrytype='struct direct'
 dlext='dll'
@@ -762,12 +773,12 @@ nm_opt=''
 nm_so_opt=''
 nonxs_ext='Errno'
 nroff=''
+nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
 nvsize='8'
 nvtype='double'
-nv_preserves_uv_bits='32'
 o_nonblock='O_NONBLOCK'
 obj_ext='.obj'
 old_pthread_create_joinable=''
index bf0f223..4eceeb4 100644 (file)
@@ -413,6 +413,7 @@ d_shmctl='undef'
 d_shmdt='undef'
 d_shmget='undef'
 d_sigaction='undef'
+d_signbit='undef'
 d_sigprocmask='undef'
 d_sigsetjmp='undef'
 d_sitearch='define'
index b5d2962..1e821bd 100644 (file)
@@ -413,6 +413,7 @@ d_shmctl='undef'
 d_shmdt='undef'
 d_shmget='undef'
 d_sigaction='undef'
+d_signbit='undef'
 d_sigprocmask='undef'
 d_sigsetjmp='undef'
 d_sitearch='define'