In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/5729ffdda207fd02149cc5ed14dbfdce8c47cac3?hp=cdc1aa425ff891f079f6e8b0787d0d9aa145bd47>

- Log -----------------------------------------------------------------
commit 5729ffdda207fd02149cc5ed14dbfdce8c47cac3
Author: Nicholas Clark <[email protected]>
Date:   Wed Mar 28 17:15:15 2012 +0200

    In cflags.SH trim the case statement of file basenames.
    
    Add examples showing how to use cflags.SH to tweak the compiler flags used
    for individual object files.
    
    Previously cflags.SH contained a somewhat stale pre-canned list of file
    basenames including removed files such as usersub (deleted before 5.000
    shipped), and a partial list of 5.000 XS extensions. Whilst it's possible
    to generate the correct list in cflags by parsing MANIFEST (and adding a few
    fixups), it's still not actually *useful*, as cflags gets overwritten as
    soon as config.sh changes. Hence the most end-user useful solution with
    minimal maintenance is to eliminate the list entirely, and document how the
    user should add to it as necessary.
-----------------------------------------------------------------------

Summary of changes:
 INSTALL   |   13 ++++++++++---
 cflags.SH |   61 ++++++++++++++-----------------------------------------------
 2 files changed, 24 insertions(+), 50 deletions(-)

diff --git a/INSTALL b/INSTALL
index 4d93d1f..333e809 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1269,9 +1269,16 @@ lost.
 
 If you have any additional changes to make to the C compiler command
 line, they can be made in cflags.SH.  For instance, to turn off the
-optimizer on toke.c, find the line in the switch structure for
-toke.c and put the command optimize='-g' before the ;; .  You
-should not edit the generated file cflags directly, as your changes will
+optimizer on toke.c, find the switch structure marked 'or customize here',
+and add a line for toke.c ahead of the catch-all *) so that it now reads:
+
+    : or customize here
+
+    case "$file" in
+    toke) optimize='-g' ;;
+    *) ;;
+
+You should not edit the generated file cflags directly, as your changes will
 be lost the next time you run Configure, or if you edit config.sh.
 
 To explore various ways of changing ccflags from within a hint file,
diff --git a/cflags.SH b/cflags.SH
index ac03b85..6420bf3 100755
--- a/cflags.SH
+++ b/cflags.SH
@@ -273,56 +273,23 @@ for file do
     : or customize here
 
     case "$file" in
-    DB_File) ;;
-    GDBM_File) ;;
-    NDBM_File) ;;
-    ODBM_File) ;;
-    POSIX) ;;
-    SDBM_File) ;;
-    av) ;;
-    byterun) ;;
-    deb) ;;
-    dl) ;;
-    doio) ;;
-    doop) ;;
-    dump) ;;
-    globals) ;;
-    gv) ;;
-    hv) ;;
-    locale) ;;
-    madly) ;;
-    main) ;;
-    malloc) ;;
-    mg) ;;
-    miniperlmain) ;;
-    numeric) ;;
-    op) ;;
-    opmini) ;;
-    pad) ;;
-    perl) ;;
-    perlapi) ;;
-    perlmain) ;;
-    perly) ;;
-    pp) ;;
-    pp_ctl) ;;
-    pp_hot) ;;
-    pp_pack) ;;
-    pp_sort) ;;
-    pp_sys) ;;
-    regcomp) ;;
-    regexec) ;;
-    run) ;;
-    scope) ;;
-    sv) ;;
-    taint) ;;
-    toke) ;;
-    universal) ;;
-    usersub) ;;
-    utf8) ;;
-    util) ;;
     *) ;;
+
+    *) : Customization examples follow: ;;
+    av) ccflags=`echo $ccflags | sed -e s/-pipe//` ;;
+    deb) ccflags="$ccflags -fno-jump-tables" ;;
+    hv) warn=`echo $warn | sed -e s/-Wextra//` ;;
+    toke) optimize=-O0 ;;
     esac
 
+    : The examples are intentionally unreachable as the '*)' case always
+    : matches. To use them, move before the '*)' and edit as appropriate.
+    : It is not a good idea to set ccflags to an absolute value here, as it
+    : often contains general -D defines which are needed for correct
+    : compilation. It is better to edit ccflags as shown, using interpolation
+    : to add flags, or sed to remove flags.
+
+
     case "$cc" in
     *g++*)
       # Extra paranoia in case people have bad canned ccflags:

--
Perl5 Master Repository

Reply via email to