[Slackbuilds-users] Perl-modules and CFLAGS
thomas at beingboiled.info
Wed Jun 23 21:28:04 UTC 2010
I'm in the process of preparing some Perl-modules for SBo but I'm unsure
how to handle CFLAGS "the right way" when C is involved.
A MakeMaker-based Makefile.PL allows you to pass the CCFLAGS and
OPTIMIZE variables to the compiler, however...
1.) 'perl Makefile.PL CCFLAGS="$SLKCFLAGS"' isn't a very good idea,
since it will a overwrite the CCFLAGS defaults and something like a
missing "-D_LARGEFILE_SOURCE" will haunt you later on.
2.) 'perl Makefile.PL OPTIMIZE="$SLKCFLAGS"' isn't perfect, either. So
far I've got three modules and in each one OPTIMIZE behaves differently:
- module1 only has "-O2" as a default but will accept OPTIMIZE
- module2 uses what Perl was compiled with as a default, e.g. "-O2
-march=i486 -mtune=i686" and thus doesn't need OPTIMIZE, but will
use it if it's set
- module3 is similar to module2, however for some of its C-sources it
will use the Perl defaults instead of whatever you set OPTIMIZE to
My conclusion: there are 18000 modules on cpan.org - don't waste your
time trying to find the über-perfect settings for each one, just go with
the defaults unless there's a good reason for manual intervention (e.g.
doesn't work otherwise).
In SBo-terms: set ARCH, SLKCFLAGS and LIBDIRSUFFIX as we always do, but
don't care about it; the result will be fine for most users. Those who
want more from their Perl modules still only have to add a single line
to the module's SlackBuild script.
Interestingly, this is what the current template does :-) So, is this
the way to go or am I missing something and the CFLAGS actually do need
More information about the SlackBuilds-users