Commit graph

107 commits

Author SHA1 Message Date
rillig
2275f2d46a mk/configure: add configure-env target
This allows easy inspection of the realistic environment in which the
configure scripts are run.

The code is copied from the similar build-env target.

This might help to find the cause for pkg/54894, where "gcc -dumpversion"
is said to output 0 as the version number.
2020-02-09 20:33:38 +00:00
rillig
3e003dd7ca mk/configure: add more keywords for bmake help 2019-10-06 09:44:41 +00:00
rillig
0ff5dc4a46 mk: use a single form for headings in the documentation comments 2019-09-02 02:23:02 +00:00
rillig
b88d952e81 mk: allow "bmake clean depends" as shortcut
When "bmake clean depends" was called for a package where the various
cookie files already existed, these would enable different rules than a
clean package directory.

Since "bmake clean" deletes all the cookie files before "bmake depends"
starts, in these combined command lines the cookie files must be treated
as absent.
2019-05-07 19:36:43 +00:00
rillig
bc4f604de5 mk/configure: assist in finding unrecognized configure options
Instead of giving instructions, just to the work automatically as far as
it can be automated.
2019-05-04 15:16:50 +00:00
rillig
7ea001aa3f mk/configure: document how to fix GNU_CONFIGURE_STRICT failures 2019-05-04 08:43:06 +00:00
rillig
2c90b6c046 mk/configure: when there are multiple CONFIGURE_DIRS, print current dir
This helps to find out which of the several configure scripts has
problems, for example when checking for unknown command line options
using GNU_CONFIGURE_STRICT.
2019-04-28 13:18:18 +00:00
rillig
c3f5e8d4d1 mk/configure: mention CONFIGURE_DIRS in show-all-configure 2019-04-28 11:25:32 +00:00
rillig
21c0a41a76 mk: fix pkglint warnings about ambiguous variables
When a Makefile fragment contains $0, this means a Makefile variable, not
a shell or AWK variable.

The bug in ccc.mk survived unnoticed for almost 15 years. The bug in
gnu-configure.mk for MirBSD got only half as old.
2019-04-20 16:32:42 +00:00
rillig
fc81f83e6e mk/configure: allow strict option checking for GNU configure scripts
When a GNU configure script is run with unknown --enable, --disable,
--with or --without options, it doesn't fail but just prints a warning.
This hides outdated package definitions that may still pass options that
have been removed already.

See https://mail-index.netbsd.org/pkgsrc-users/2019/04/02/msg028272.html
for a recent case.

The default behavior doesn't change. After a period of testing this new
check, the check is expected to become enabled by default so that future
problems like this are prevented.
2019-04-03 19:10:26 +00:00
bsiegert
ce19293462 replace-interpreter.mk: support REPLACE_PERL6.
This is basically the same as REPLACE_PERL, except that there is a default
for ${PERL6} inline if it is not otherwise defined.
2019-02-18 14:10:37 +00:00
rillig
858c6cfd69 mk/misc: make configuration for show-all targets more configurable
Up to now, there was a central list of variable name patterns that
defined whether a variable was printed as a sorted list, as a list or as
a single value.

Now each variable group decides on its own which of the variables are
printed in which way, using the usual glob patterns. This is more
flexible since different files sometimes differ in their naming
conventions.

Two variable groups are added: license (for everything related to
LICENSE) and go (for lang/go).
2018-11-30 18:38:19 +00:00
adam
8e731eb460 Print a message if REPLACE_INTERPRETER does not change anything (similar to SUBST_) 2018-04-17 09:31:41 +00:00
chuck
a655dc59c4 add support for CMAKE_PKGSRC_BUILD_FLAGS
CMAKE_PKGSRC_BUILD_FLAGS
     If set to yes, disable compiler optimization flags associated
     with the CMAKE_BUILD_TYPE setting (for pkgsrc these come in from
     the user via variables like CFLAGS).  The default is yes, but you can
     set it to no for pkgsrc packages that do not use a compiler to avoid
     cmake "Manually-specified variables were not used by the project"
     warnings associated with this variable.
2018-04-08 19:11:27 +00:00
rillig
0e0d2af856 mk/configure/replace-interpreter.mk: document variables for show-all 2018-03-11 15:07:45 +00:00
rillig
ea32a33dbd mk/configure/replace-interpreter: add "make help" keywords 2018-03-11 14:59:14 +00:00
wiz
190c209fdf mk/configure/cmake.mk: Fix typos in comments. 2017-12-27 18:56:27 +00:00
jperkin
00697eb0c6 Update libtool packages to 2.4.6.
Changes since 2.4.2 are too numerous to mention, with over 4,700 lines
in the ChangeLog file.  However, this release does at least fix a large
number of build failures on SmartOS, and doesn't appear to cause any
obvious regressions in bulk builds performed by Joerg and myself.

Some pkgsrc cleanups while here, including merging the MirBSD patches
correctly.  It couldn't be made much clearer how to properly integrate
patches here to ensure they are not lost.  Next time you might not be so
fortunate!
2017-03-06 16:14:07 +00:00
kamil
5e0738fca8 Add support for overloading CMAKE_INSTALL_PREFIX
By default CMAKE_INSTALL_PREFIX points to PREFIX, but some software requres
custom subprefix. At least blender and brlcad are in this category.

To set new prefix it's sufficient to set CMAKE_INSTALL_PREFIX in a package,
for example (in brlcad):

CMAKE_INSTALL_PREFIX=${PREFIX}/brlcad

Reviewed by <joerg> and <jperkin>.
2016-10-21 11:13:35 +00:00
jperkin
9bd8757b52 Remove overrides for OPENAL_INCLUDE_DIR and OPENGL_INCLUDE_DIR. These
conflict with pkgsrc versions of those packages, and do not interact well
with the wrappers anyway as cmake will perform simple file-based tests for
headers but the compiler will be unable to find them.
2016-02-24 15:24:56 +00:00
joerg
ee75c51786 Add a new override mechanism for depcomp, similar to the existing
overrides for libtool. This allows us to easily get the fixed version
from our libtool in place without having to hunt down for the specific
bugs in random places. Disable the override explicitly in clisp, which
installs a copy without explicitly depending on libtool at run time.
2016-02-23 15:19:23 +00:00
joerg
81428e7010 Drop _LIBTOOL and _SHLIBTOOL and make LIBTOOL and SHLIBTOOL point to the
wrapped version by full path. This fixes some cases where the wrappers
have been bypassed. lang/lua52 triggered the investigation as it failed
to link against libreadline, which should have been translated to
libedit. Tested by jperkin and myself with full bulk builds.
2015-05-04 19:23:19 +00:00
obache
e0b1a878dc Introduce CMAKE_USE_GNU_INSTALL_DIRS,
If set to yes, set GNU standard installation directories with pkgsrc
configured settings for cmake GNUInstallDirs module.
The default is yes.
2014-09-06 01:50:38 +00:00
wiz
785572fa7f Add CMAKE_PREFIX_PATH variable that can be used by packages that install
their files in non-standard locations (e.g., qt5).
From Niclas Rosenvik.
2014-08-23 19:26:07 +00:00
obache
5dccb01f08 Prevent to update timestamp of configure script with pkgsrc specific override.
It may be triger of unwanted rebuild.
2014-08-23 03:00:18 +00:00
wiz
2466e284ca iRename SUBST_CLASS to _pkgconfig (adding a '_') to avoid conflicts
with packager-chosen prefixes (as with portaudio-devel recently).
2014-07-21 12:10:40 +00:00
obache
36a4d44c3c Introduce HAS_CONFIGURE_LIBDIR and GNU_CONFIGURE_LIBDIR for gnu configure
--libdir handling, same as for --mandir and --infodir.

Currently, HAS_CONFIGURE_LIBDIR=no by default unless libdir related variables
are set, but it will be switched to "yes" after all packages have been checked
(and SET_LIBDIR will be deprecated).
2014-01-28 11:32:30 +00:00
wiz
3099b2b8eb Remove config.rpath override file and related code.
This file is from libtool-1.x, which is not in pkgsrc any longer
(using libtool-2.x since 2009). Also, it was only used for packages
using autoconf-2.13 AND libtool; I found three packages in pkgsrc with
that combination, and all of them still build on NetBSD-6.99.24/amd64
after this change.
2013-10-13 10:10:05 +00:00
obache
4001756913 tell PKGMANDIR, PKGINFODIR and PKGLOCALEDIR to cmake. 2013-10-08 12:03:53 +00:00
rillig
7af0bf94c6 _PKG_DEBUG and _PKG_SILENT have been deprecated since 2007. 2013-08-31 20:22:49 +00:00
wiz
220e245fa7 Remove GNU_CONFIGURE_LIBDIR.
Rationale: undocumented, easily replaced with "CONFIGURE_ARGS+=--libdir="
and only used by 10 packages.
2013-06-12 12:35:35 +00:00
mspo
10de3cec11 use improved version from apb, works with parallel/paexec 2013-04-18 00:24:48 +00:00
mspo
f58fdbac37 add some tricks to handle #!/usr/bin/env, do please improve 2013-04-02 00:28:57 +00:00
markd
977ba65ea4 In pkgsrc, 64bit linux libraries should install into lib rather than lib64.
Make sure cmake does this.
2013-02-22 22:45:12 +00:00
jperkin
6f20e12e40 Fix indent, no functional change. 2012-06-01 12:52:37 +00:00
sbd
c29af2ca25 Add REPLACE_CSH as a replace interpreter template. 2012-02-06 06:18:36 +00:00
sbd
526e041c4b Add SET_LIBDIR variable which if non-empty will set GNU_CONFIGURE_LIBDIR to
the default libdir (and there for be passed to ./configure), this is the
best way to deal with the 'lib64' problem on x86_64-linux systems (with
most some packages).

Also add SET_LIBDIR, GNU_CONFIGURE_LIBDIR, and  GNU_CONFIGURE_LIBSUBDIR to
_PKG_VARS.gnu-configure
2012-01-26 06:33:43 +00:00
sbd
7cee03ab00 Add the convenience variable GNU_CONFIGURE_LIBSUBDIR. 2012-01-17 21:19:43 +00:00
sbd
7d410a233f Add the GNU_CONFIGURE_LIBDIR variable, if defined it will be passed to gnu
configure scripts as the value of --libdir.

On Linux x86_64 set GNU_CONFIGURE_LIBDIR to ${GNU_CONFIGURE_PREFIX}/lib,
this will stop package trying to install into ${PREFIX}/lib64.
2012-01-17 21:10:24 +00:00
abs
fc3bada41a Introduce PKGSRC_SETENV, defaulting to SETENV. Can be set to ${SETENV} -i
to santise environment
2011-09-08 20:17:15 +00:00
wiz
261569f88c Remove reference to REPLACE_PYTHON -- this file doesn't support it
(look in lang/python/application.mk). Noticed by Rhialto in PR 44868.
2011-05-20 15:02:27 +00:00
agc
e81f515156 Add support for MirBSD to pkgsrc. Patches from Benny Siegert and
Thorsten Glaser.
2011-01-23 19:07:24 +00:00
adam
81c4b7e7cf On Mac OS X, use system OpenGL and OpenAL 2011-01-12 07:21:30 +00:00
adam
a72b9d7580 On Darwin, libraries need correct install_name 2010-10-19 09:45:16 +00:00
joerg
2b4c4d15f1 Always set both --host and --build, a number of programs want to use
a cross-compile like environment otherwise.
2009-09-12 00:52:45 +00:00
rillig
14faa7757b One more variable for show-all-gnu-configure. 2008-11-29 12:29:35 +00:00
markd
29286b7c5f Tell cmake not to muck with rpath's as it seems to interact badly with
pkgsrc.
2008-09-13 11:09:58 +00:00
rillig
3425bf4596 Oops, fixed a typo. 2008-02-13 09:13:31 +00:00
rillig
102b3c5eb6 Documented the interface to packages. Renamed the targets to emphasize
that they are private to the current file.
2008-02-13 09:12:15 +00:00
rillig
66736dde43 Replaced _PKG_SILENT and _PKG_DEBUG with RUN. 2008-02-07 21:36:13 +00:00