Specifically, newer autoconf (> 2.13) has different semantic of the
configure target. In short, one should use --build=CONFIGURE_TARGET
instead of CONFIGURE_TARGET directly. Otherwise, you will get a warning
and the old semantic may be removed in later autoconf releases.
To workaround this issue, many ports hack the CONFIGURE_TARGET variable
so that it contains the ``--build='' prefix.
To solve this issue, under the fact that some ports still have
configure script generated by the old autoconf, we use runtime detection
in the do-configure target so that the proper argument can be used.
Changes to Mk/*:
- Add runtime detection magic in bsd.port.mk
- Remove CONFIGURE_TARGET hack in various bsd.*.mk
- USE_GNOME=gnometarget is now an no-op
Changes to individual ports, other than removing the CONFIGURE_TARGET hack:
= pkg-plist changed (due to the ugly CONFIGURE_TARGET prefix in * executables)
- comms/gnuradio
- science/abinit
- science/elmer-fem
- science/elmer-matc
- science/elmer-meshgen2d
- science/elmerfront
- science/elmerpost
= use x86_64 as ARCH
- devel/g-wrap
= other changes
- print/magicfilter
GNU_CONFIGURE -> HAS_CONFIGURE since it's not generated by autoconf
Total # of ports modified: 1,027
Total # of ports affected: ~7,000 (set GNU_CONFIGURE to yes)
PR: 126524 (obsoletes 52917)
Submitted by: rafan
Tested on: two pointyhat 7-amd64 exp runs (by pav)
Approved by: portmgr (pav)
- Remove USE_XLIB/USE_X_PREFIX/USE_XPM in favor of USE_XORG
- Remove X11BASE support in favor of LOCALBASE or PREFIX
- Use USE_LDCONFIG instead of INSTALLS_SHLIB
- Remove unneeded USE_GCC 3.4+
Thanks to all Helpers:
Dmitry Marakasov, Chess Griffin, beech@, dinoex, rafan, gahr,
ehaupt, nox, itetcu, flz, pav
PR: 116263
Tested on: pointyhat
Approved by: portmgr (pav)
so there is a conditional code compilation checking for -DPIC, but the code
in the static library later goes into a shared one, so use -fPIC but no
-DPIC in that case, because otherwise there would be redefined symbols).
Reported by: pointyhat
structure (i.e. include/SDL for includes and sdl-config for configuration
binary)
- Update graphics/sdl_ttf to version 2.0.8
- Update graphics/sdl_image to version 1.2.5
- Update audio/sdl_mixer to version 1.2.7
- Update net/sdl_net to version 1.2.6
- Update Mk/bsd.sdl.mk accordingly
- Fix dependent ports to fit the new directory structure and avoid several
API breakages
- Bump up portrevisions for all dependent ports to allow them to be upgraded
by portupgrade/portmaster etc tools
Approved by: kris (portmgr), sem (mentor)
- Remove USE_REINPLACE.
- Add pkg-message (processed by SUB_FILES).
- Run ldconfig on the right directory.
- Fix OPTIONS handling.
- Remove unavoidable autodetection of OPTIONS.
- Don't remove the shared data directory (managed by games/quake-data).
PR: ports/93729
Submitted by: Alejandro Pulver <alejandro@varnet.biz>
Approved by: garga (mentor)
After ports recompilation for 6.0 (upgrade from 5-STABLE)
I noticed that quakeforge start and plays the demo, but
completely ignores any keyboard input. Besides that, it
reports that plugin /usr/local/lib/quakeforge/console_client.so
cannot be loaded.
Investigation had shown that the plugin is used to drive
the game menu, and the reason it cannot be loaded is that
the main executable of the game does not export the symbol
Key_Progs_Init.
Symbol is absent since build links final exe from some
static libraries, and .o with Key_Progs_Init is (for some
reasons) not referenced by exe. As a workaround, I propose
to add an explicit reference for the symbol.
Proper fix would be something like -Wl,--whole-archive
switch for final link, but this does not work due to libtool
only allows to put switches at the start of the command
line. And cc links libgcc.a twice, that leads to duplicate
symbol definitions.
PR: ports/89065
Submitted by: Kostik Belousov <kostikbel@gmail.com>
Approved by: Alejandro Pulver <alejandro@varnet.biz>
After ports recompilation for 6.0 (upgrade from 5-STABLE)
I noticed that quakeforge start and plays the demo, but
completely ignores any keyboard input. Besides that, it
reports that plugin /usr/local/lib/quakeforge/console_client.so
cannot be loaded.
Investigation had shown that the plugin is used to drive
the game menu, and the reason it cannot be loaded is that
the main executable of the game does not export the symbol
Key_Progs_Init.
Symbol is absent since build links final exe from some
static libraries, and .o with Key_Progs_Init is (for some
reasons) not referenced by exe. As a workaround, I propose
to add an explicit reference for the symbol.
Proper fix would be something like -Wl,--whole-archive
switch for final link, but this does not work due to libtool
only allows to put switches at the start of the command
line. And cc links libgcc.a twice, that leads to duplicate
symbol definitions.
PR: ports/89065
Submitted by: Kostik Belousov <kostikbel@gmail.com>
Approved by: Alejandro Pulver <alejandro@varnet.biz>
in bsd.autotools.mk essentially makes this a no-op given that all the
old variables set a USE_AUTOTOOLS_COMPAT variable, which is parsed in
exactly the same way as USE_AUTOTOOLS itself.
Moreover, USE_AUTOTOOLS has already been extensively tested by the GNOME
team -- all GNOME 2.12.x ports use it.
Preliminary documentation can be found at:
http://people.FreeBSD.org/~ade/autotools.txt
which is in the process of being SGMLized before introduction into the
Porters Handbook.
Light blue touch-paper. Run.
the libtoolX ports instead of the one included with each port. Ports that
set USE_LIBTOOL_VER=X will now use the ports version of libtool instead of
the included version. To restore previous behavior, use the new macro,
USE_INC_LIBTOOL_VER. Both macros accept the same argument: a libtool version.
For example, to use the ports version of libtool-1.5, add the following to
your Makefile:
USE_LIBTOOL_VER= 15
To use the included version of libtool with extra hacks provided by
libtool-1.5, add the following to your Makefile:
USE_INC_LIBTOOL_VER= 15
With this change, ports that had to add additional libtool hacks to prevent
.la files from being installed or to fix certain threading issues can now
delete those hacks (after appropriate testing, of course).
PR: 63944
Based on work by:eik and marcus
Approved by: ade (autotools maintainer)
Tested by: kris on pointyhat
Bound to be hidden problems: You bet
Begin autotools sanitization sequence by requiring ports to explicitly
specify which version of {libtool,autoconf,automake} they need, erasing
the concept of a "system default".
For ports-in-waiting:
USE_LIBTOOL=YES -> USE_LIBTOOL_VER=13
USE_AUTOCONF=YES -> USE_AUTOCONF_VER=213
USE_AUTOMAKE=YES -> USE_AUTOMAKE_VER=14
Ports attempting to use the old style system after June 1st 2004 will be
sorely disappointed.
USE_SDL=yes -> USE_SDL=sdl (good examles everywhere)
WANT_SDL/HAVE_SDL instead of exists(localbase/lib/lib...)
See
http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/using-sdl.html
for more information on how to use USE_SDL, WANT_SDL and HAVE_SDL.
PR: follow-ups of ports/55494, ports/61877
Submitted by: Edwin Groothuis <edwin@mavetju.org>
- Fix a bug in the network code, found by Vladimir Machulsky
- Use DOCSDIR
- Bump PORTREVISION
PR: ports/61902
Submitted by: Ulrich Spoerlein <q@uni.de> (maintainer)