Skip to content
Commits on Jun 19, 2012
  1. In cflags.SH trim the case statement of file basenames.

    Nicholas Clark committed Mar 28, 2012
    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 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.
Commits on Jun 9, 2012
  1. @rurban
Commits on Aug 19, 2010
  1. @rafl

    Make everything exec-bit.txt lists executable

    rafl committed Aug 19, 2010
    All these files used to be executable in the release tarballs. Apparently things
    also work without that in the repository, but I'd rather add this possibly
    unecessary change to blead instead of breaking the upcoming release. This should
    probably be looked into again afterwards.
Commits on Aug 14, 2010
  1. @smpeters

    RT #74436: [PATCH] Add -Wwrite-strings

    Robin Barker committed with smpeters Aug 14, 2010
    The perl source has for some while been clean to -Wwrite-strings.
    I suggest this warning be added to cflags.
    The patch makes the appropriate change to cflags.SH and silences a warning from mg.c
Commits on Jul 24, 2010
  1. @xdg

    Global executable bit cleanup

    xdg committed Jul 24, 2010
    When porting/makerel runs, all files copied into the directory for the
    tarball have the executable bit stripped and then only a specific set of
    files have the executable bit restored.
    There are many files in the repo that have the executable bit set in the
    repo that will be stripped.  So that the state of files in the repo is
    as close as possible to the state of files in the release tarball, the
    executable bit has been stripped from such files.
    In one recent case, a file added from a dual-life module needed the
    executable bit set.  Because it had the bit in the repo but was
    not listed in makerel to get an executable bit, tests using it
    passed in the repo and failed in the tarball.
    This commit refactors the list into a new file, Porting/exec-bit.txt
    and add tests to detect a mismatch between files listed there
    and actual executable bits in the repo.
Commits on Apr 12, 2009
Commits on Jan 4, 2009
  1. @demerphq

    eliminate .patchnum and related infrastrcuture from *nix based build …

    demerphq committed Jan 4, 2009
    Rename the old "unpushed.h" to "git_version.h" and make it hold the defines that used to come from cflags magic
Commits on Dec 31, 2008
  1. cflags also runs under /bin/sh so can't use $()

    Nicholas Clark committed Dec 30, 2008
  2. @demerphq

    much better git related version numbering in our (*nix for now) build…

    demerphq committed Dec 31, 2008
    … process
    The net result of this patch is to make available via and -v/-V the
    details about the git version info we have available for the build. When built within
    a git repository git is queried directly. When built from a snapshot or bundle
    it is assumed that the source is unchanged, and that the required details are
    avaialble in a file called .patch, whose format current is a four field string
    in the following format: "$branchname $date.$time $sha1 $describe". The
    generator of these files currently resides on
    * git-describe is now used more directly with -v.
    	When the prefix of git-describe matches the version number
    	as determined by the defines in patchlevel.h then we use ONLY
    	the git-describe output, otherwise we include
    	the git describe in parenthesis after the version number. Either way
    	the describe text is optionally followed by a star should there be
    	uncommitted changes.
    	eg: This is perl, v5.11.0 (GitLive-blead-136-g58ca560) built for i686-linux
    	or: This is perl, v5.11.0-1-g58ca560 built for i686-linux
    	or: This is perl, v5.11.0 built for i686-linux
    * include the SHA1 in perl -V summary, and automatically include unpushed
    	commits in the registered patches list
    * include various git/version/.patch details in %Config, as follows:
    	git_commit_id             # sha1 of HEAD
    	git_ancestor              # ancestor in $remote/$branch (presumably canonical)
    	git_describe              # git describe
    	git_branch                # current branch
    	git_uncommitted_changes   # "true" if there are any, empty otherwise
    	git_unpushed_commits      # List of sha1's of unpushed commits
    	git_commit_id_title       # Used to make the perl -V summary output
    Additionally one more value is added depending on build process used: when
    building from an rsynced snapshot (or any dist including a file called
    .patch) then the second field will be used to populate the
    "git_snapshot_date" field. Otherwise if built in a git directory (as is hopefully
    recommended these day) then the field will be "git_commit_date" which will be the
    commit date of HEAD.
    This patch introduces two new files (on top of .patchnum) that will be generated by "lib/" and "unpushed.h", the former is used to make
    git data available to without rebuilding everything else, and the
    second is used to expose unpushed commits (if any) via the registered patch facility
    of patchlevel.h
Commits on Dec 27, 2008
  1. forgot that i was modifying a generated file

    Yves Orton committed Dec 26, 2008
  2. fix broken indentation, and move PERL_PATCHNUM logic to a different p…

    Yves Orton committed Dec 21, 2008
    …lace so it only affects perl.c
  3. more build dependency changes, we should make sure that cflags is upd…

    Yves Orton committed Dec 21, 2008
    …ated whenever cflags.SH changes
Commits on Dec 20, 2008
  1. /bin/sh isn't /usr/bin/perl :-)

    Nicholas Clark committed Dec 20, 2008
    Change elsif to the correct "else if" construction.
    I suspect that this slipped by into f6a8029
    because cflags.SH doesn't seem to be re-expanded if it's newer than cflags.
  2. make perl use git-describe for PATCHNUM

    Yves Orton committed Dec 20, 2008
    This is just an initial attempt at getting something more useful into the -v / -V output.
    Currently "patchlevel" is really "version", and PATCHNUM is just a special string added
    to the patchlevel in perl.c via defines created by cflags.SH and its product file cflags,
    which happens very early in the build process. This means that for committers the -v output
    is likely to not be upto date unless they run make clean.
    Anyway, IMO we should rethink a reasonable amount about how we do this, this is just a crude
    step forward.
Commits on Jan 2, 2008
  1. Make struct regexp the body of SVt_REGEXP SVs, REGEXPs become SVs,

    Nicholas Clark committed Jan 2, 2008
    and regexp reference counting is via the regular SV reference counting.
    This was not as easy at it looks.
    p4raw-id: //depot/perl@32804
Commits on Dec 20, 2007
  1. A new try at getting -fstack-protector working, by adding it to the

    Nicholas Clark committed Dec 20, 2007
    gcc link flags so that any implementation dependant libraries are also
    linked in.
    p4raw-id: //depot/perl@32669
Commits on Dec 19, 2007
  1. @smpeters

    Teach cflags.SH about -fstack-protector, and add it to gcc compiler f…

    smpeters committed Dec 19, 2007
    when possible.
    p4raw-id: //depot/perl@32647
Commits on Dec 17, 2007
  1. @rgs


    Robin Barker committed with rgs Dec 17, 2007
    From: "Robin Barker" <>
    Message-ID: <>
    p4raw-id: //depot/perl@32623
Commits on Oct 23, 2007
  1. Re: [perl #46725] v5.10.0 util.c and pp_sys.c fail to compile under M…

    Andy Dougherty committed with Nicholas Clark Oct 23, 2007
    …ac OS X
    Message-ID: <>
    Date: Tue, 23 Oct 2007 08:54:51 -0400 (EDT)
    p4raw-id: //depot/perl@32181
Commits on Oct 22, 2007
  1. FreeBSD atoll() warning (Was Re: Code freeze

    Andy Dougherty committed with Nicholas Clark Oct 22, 2007
    Message-ID: <>
    Date: Mon, 22 Oct 2007 12:49:25 -0400 (EDT)
    p4raw-id: //depot/perl@32174
Commits on Aug 14, 2007
  1. @rurban

    get rid of cygwin perlld and ld2

    rurban committed with Abhijit Menon-Sen Aug 14, 2007
    Message-Id: <>
    p4raw-id: //depot/perl@31710
Commits on Mar 30, 2007
  1. @jhi @smpeters

    cflags.SH: 30327 wasn't portable Bourne (avoid '!: not found')

    jhi committed with smpeters Mar 30, 2007
    Message-Id: <>
    p4raw-id: //depot/perl@30779
Commits on Mar 21, 2007
  1. @smpeters

    Make gcc warn in case code is not C++ compatible.

    smpeters committed Mar 21, 2007
    p4raw-id: //depot/perl@30672
Commits on Feb 16, 2007
  1. @rgs

    Avoid to run config_h.SH twice during configuration.

    rgs committed Feb 16, 2007
    p4raw-id: //depot/perl@30327
Commits on Feb 5, 2007
  1. @rgs

    Quote fix by Jarkko

    rgs committed Feb 5, 2007
    p4raw-id: //depot/perl@30125
Commits on Jan 26, 2007
  1. @rgs

    cflags.SH was broken: it was compiling a C file for testing available

    rgs committed Jan 26, 2007
    command-line options, but this C file was including perl.h, which in
    turn includes config.h, which might not be present at that time. So
    force the generation of config.h.
    p4raw-id: //depot/perl@30019
  2. @rgs

    If we have specified -Dgccansipedantic on the Configure command-line,

    rgs committed Jan 26, 2007
    assume we really want it
    p4raw-id: //depot/perl@30016
Commits on Nov 28, 2006
  1. @rgs

    Typo fix (by Dominic Dunlop)

    rgs committed Nov 28, 2006
    p4raw-id: //depot/perl@29400
  2. @smpeters

    Re: [PATCH] perlhack: some portability updates

    Dominic Dunlop committed with smpeters Nov 26, 2006
    Message-Id: <>
    p4raw-id: //depot/perl@29398
Commits on Oct 7, 2006
  1. @jhi @Tux

    cflags.SH: strip -std=c89 for g++

    jhi committed with Tux Oct 7, 2006
    Message-ID: <>
    p4raw-id: //depot/perl@28955
Commits on Oct 2, 2006
  1. @jhi @Tux

    Re: [PATCH] cflags.SH: rethink of the gcc -std=c89 and -pedantic

    jhi committed with Tux Oct 2, 2006
    Message-ID: <>
    p4raw-id: //depot/perl@28914
Commits on Sep 19, 2006
  1. @jhi @Tux

    C++: add -Wno-used-parameter, and drop ODBM_File

    jhi committed with Tux Sep 19, 2006
    Message-ID: <>
    p4raw-id: //depot/perl@28867
Commits on Sep 14, 2006
  1. @jhi @smpeters

    (1) g++ 4.x (or Mac OS X) (2) Solaris g++ or CC

    jhi committed with smpeters Sep 13, 2006
    Message-ID: <>
    Plus a tweak to the name of CC.
    p4raw-id: //depot/perl@28842
Commits on Aug 8, 2006
  1. @jhi @smpeters

    g++ stage 1 reached

    jhi committed with smpeters Aug 8, 2006
    Message-ID: <>
    p4raw-id: //depot/perl@28674
Something went wrong with that request. Please try again.