Upgrade to Text-Tabs+Wrap-2006.0711. Keep the local changes from
[p5sagit/p5-mst-13.2.git] / Makefile.SH
index 6097954..099fed2 100644 (file)
@@ -95,7 +95,7 @@ true)
                linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+s -Wl,+b$archlibexp/CORE -lperl"
                ;;
        os390*)
-            shrpldflags='-W l,dll'
+            shrpldflags='-W l,XPLINK,dll'
            linklibperl='libperl.x'
            DPERL_EXTERNAL_GLOB=''
            ;;
@@ -389,12 +389,13 @@ lintflags = \
     -erroff=E_BAD_SIGN_EXTEND \
     -erroff=E_BLOCK_DECL_UNUSED \
     -erroff=E_CASE_FALLTHRU \
+    -erroff=E_CONST_EXPR \
     -erroff=E_CONSTANT_CONDITION \
+    -erroff=E_END_OF_LOOP_CODE_NOT_REACHED \
     -erroff=E_EQUALITY_NOT_ASSIGNMENT \
     -erroff=E_EXPR_NULL_EFFECT \
     -erroff=E_FALSE_LOGICAL_EXPR \
     -erroff=E_INCL_NUSD \
-    -erroff=E_INDISTING_FROM_TRUNC \
     -erroff=E_LOOP_EMPTY \
     -erroff=E_MAIN_PARAM \
     -erroff=E_POINTER_TO_OBJECT \
@@ -403,6 +404,32 @@ lintflags = \
     -erroff=E_STATIC_UNUSED \
     -erroff=E_TRUE_LOGICAL_EXPR
 
+splintflags = \
+    -I/usr/lib/gcc/i486-linux-gnu/4.0.2/include/ \
+    -D__builtin_va_list=va_list \
+    -Dsigjmp_buf=jmp_buf \
+    -warnposix \
+    \
+    +boolint \
+    +charintliteral \
+    -fixedformalarray \
+    -mustfreefresh \
+    -nestedextern \
+    -predboolint \
+    -predboolothers \
+    -preproc \
+    -boolops \
+    -shadow \
+    -nullstate \
+    +longintegral \
+    +matchanyintegral \
+    -type \
+    \
+    +line-len 999 \
+    +weak
+
+splintfiles = $(c1)
+
 .c$(OBJ_EXT):
        $(CCCMD) $(PLDLFLAGS) $*.c
 
@@ -679,8 +706,8 @@ perl.valgrind.config: config.sh
 
 perl.config.dashg:
        @echo "Checking optimize='-g' in config.sh..."
-       @grep "^optimize="     config.sh
-       @egrep "^optimize='(-g|.*-g[1-3].*)'" config.sh >/dev/null || exit 1
+       @grep "^optimize=" config.sh
+       @egrep "^optimize='(.*-g.*)'" config.sh >/dev/null || exit 1
 
 perl.third.config: config.sh
        @echo "To build perl.third you must Configure -Doptimize=-g -Uusemymalloc, checking..."
@@ -788,6 +815,10 @@ preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
                autosplit_lib_modules(@ARGV)' lib/*/*.pm
        $(MAKE) lib/re.pm
 
+.PHONY: makeppport
+makeppport: miniperl$(EXE_EXT) $(CONFIGPM)
+       $(LDLIBPTH) ./miniperl -Ilib mkppport
+
 lib/Config.pod: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary
        $(LDLIBPTH) ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm
 
@@ -987,10 +1018,10 @@ manicheck:       FORCE
 $(DYNALOADER): miniperl$(EXE_EXT) preplibrary FORCE
        @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
 
-d_dummy $(dynamic_ext):        miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+d_dummy $(dynamic_ext):        miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER) FORCE
        @$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
 
-s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER) FORCE
        @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
 
 n_dummy $(nonxs_ext):  miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
@@ -1063,6 +1094,7 @@ _cleaner1:
        -@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
        $(LDLIBPTH) sh ext/util/make_ext $(CLEAN) $$x MAKE=$(MAKE) ; \
        done
+       $(LDLIBPTH) ./miniperl -Ilib mkppport --clean
 
 # Some systems do not support "?", so keep these files separate.
 _cleaner2:
@@ -1080,7 +1112,7 @@ _cleaner2:
        rm -rf .config
        rm -f preload
        rm -f testcompile compilelog
-       rm -rf lib/Encode lib/Compress
+       rm -rf lib/Encode lib/Compress lib/Hash
        rm -rf lib/IO/Compress lib/IO/Uncompress
        rm -f lib/ExtUtils/ParseXS/t/XSTest.c
        rm -f lib/ExtUtils/ParseXS/t/XSTest$(OBJ_EXT)
@@ -1088,7 +1120,7 @@ _cleaner2:
        -rmdir lib/B lib/Data
        -rmdir lib/Filter/Util lib/IO/Socket
        -rmdir lib/List lib/MIME lib/Scalar lib/Sys
-       -rmdir lib/threads lib/XS lib/Hash
+       -rmdir lib/threads lib/XS
 
 _realcleaner:
        @$(LDLIBPTH) $(MAKE) _cleaner1 CLEAN=realclean
@@ -1104,6 +1136,10 @@ lint: $(c)
        rm -f *.ln
        lint $(lintflags) -DPERL_CORE -D_REENTRANT -DDEBUGGING -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(c)
 
+.PHONY: splint
+splint: $(c)
+       splint $(splintflags) -DPERL_CORE -D_REENTRANT -DDEBUGGING -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(splintfiles)
+
 # Need to unset during recursion to go out of loop.
 # The README below ensures that the dependency list is never empty and
 # that when MAKEDEPEND is empty $(FIRSTMAKEFILE) doesn't need rebuilding.
@@ -1344,7 +1380,7 @@ tags:     TAGS
        perl emacs/e2ctags.pl TAGS > tags
 
 ctags:
-       ctags -f Tags -N --totals --languages=c --langmap=c:+.h *.c *.h
+       ctags -f Tags -N --totals --languages=c --langmap=c:+.h --exclude=opmini.c *.c *.h
 
 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
 # If this runs make out of memory, delete /usr/include lines.