Commit Graph

445 Commits

Author SHA1 Message Date
Sascha Schumann
b8063c342c Separate creating config_vars.mk and generating Makefiles.
This change enables you to regenerate Makefiles by running config.status.
2000-06-11 10:38:37 +00:00
Sascha Schumann
e49ad341bd Wipe out acconfig.h.in and rewrite some checks to use PHP_ARG_ENABLE. 2000-06-08 06:14:58 +00:00
Sascha Schumann
01ecd47a05 Fix test for php_always_shared 2000-06-07 19:13:28 +00:00
Sascha Schumann
1e56dd781a Make use of already existing macro PHP_PROG_SENDMAIL 2000-05-31 20:44:04 +00:00
Sascha Schumann
7bb2af41e3 Use sed instead of tr. The tr regexp syntax does not seem to be portable
enough to make wide use of it. This should fix problems on Solaris 8
and possibly on older SysV-derivatives.
2000-05-31 20:30:16 +00:00
Sascha Schumann
2bd6846adc Solve conflict with mysql's readdir_r check. Both defined HAVE_READDIR_R,
but with different values.
2000-05-27 19:30:36 +00:00
Sascha Schumann
25df65b0b8 Support old-style readdir_r() 2000-05-24 11:06:57 +00:00
Sascha Schumann
f1eefa64ec A couple of cleanups and shared-libadd additions 2000-05-23 23:13:13 +00:00
Sascha Schumann
417f74451f Cosmetic changes 2000-05-23 15:43:29 +00:00
Sascha Schumann
2aaa538aef Use reentrant version of readdir. If the target platform does not support
the POSIX-like readdir_r, we fall back to readdir. In ZTS mode, this will
cause php_readdir_r calls to be serialized.
2000-05-23 15:13:16 +00:00
Sascha Schumann
f04936f8a1 Make the shared library suffix dynamic. Improve workaround for libtool's
inflexibility WRT -avoid-version to support various numbers of .0
2000-05-18 11:35:17 +00:00
Sascha Schumann
db3d16dca1 Add debug.log facility. If there are any obscure bugs in our build system,
this will give us enough information to find and fix it.
2000-05-17 19:08:44 +00:00
Sascha Schumann
c2279a0217 s/normal/SUSV2/ 2000-05-16 23:24:39 +00:00
Thies C. Arntzen
62d5504706 AC_ADD_LIBRARY_WITH_PATH now always prepends new libraries. 2000-05-08 08:55:45 +00:00
Thies C. Arntzen
3ee9304cd9 support empty libpath in AC_ADD_LIBRARY_WITH_PATH
make sure the link-order for shared and static builds are the same
2000-05-08 08:27:48 +00:00
Sascha Schumann
b345acb577 Never tell link editor to libc. Some systems use thread-safe
replacements for libc in Pthreads mode.
2000-05-07 05:32:54 +00:00
Sascha Schumann
dc91d47014 Remove trailing slash(es) from pathnames 2000-05-04 16:08:10 +00:00
Sascha Schumann
d0f3764ee2 Change reentrancy API to always use the php prefix.
Check for the declaration of reentrant functions, so that we can use
them in non-ZTS mode on all platforms.
2000-05-04 10:38:17 +00:00
Sascha Schumann
b6e4841ec7 Determine first whether we will use ZTS mode or not.
This is important, because the system checks will yield different
results depending on whether POSIX threads are enabled or not.

We also use PTHREADS_CFLAGS only in ZTS mode now. Using these flags
in non-ZTS mode causes complete build failures on some platforms
(i.e. FreeBSD 2.2.x). This will cause harmless warnings on some
platforms (i.e. Solaris 2).
2000-05-04 09:42:27 +00:00
Sascha Schumann
cae3b7dff5 Pear Changes:
Store EXTENSION_DIR in php-config

  Ignore errors during header installation

  Automatically enable modules in self-contained mode

  Create empty .deps in builddir
2000-05-02 20:56:03 +00:00
Sascha Schumann
0b516602fd Add shared-libadd option to AC_ADD_LIBRARY_WITH_PATH.
This lets you replace

  if test "$ext_shared" = "yes"; then
    FOO_SHARED_LIBADD="-R$LIBDIR -L$LIBDIR -l$LIB"
  else
    AC_ADD_LIBRARY_WITH_PATH($LIB, $LIBDIR)
  fi

with

  AC_ADD_LIBRARY_WITH_PATH($LIB, $LIBDIR, FOO_SHARED_LIBADD)
2000-05-02 04:00:14 +00:00
Sascha Schumann
113b87736b Use GCC's --print-libgcc-file-name flag to find libgcc's path.
Obtained from: mod_ssl
2000-05-01 18:32:09 +00:00
Sascha Schumann
a481fddfb3 Improved in-tree shared libraries build system
The following new/revived shared modules are available now:

  ... MySQL (*)
  ... PCRE (*)
  ... Session
  ... SWF

  (*) capable of using bundled library or external library

All changes:

  The m4 macro PHP_EXTENSION was revamped. Uses LIB_BUILD now.
  This effectively means that all extensions have to use dynlib.

  ext/mysql/config.m4 was revamped.
  Uses LIB_BUILD for building bundled library.

  ext/pcre/config.m4 was revamped.
  Uses LIB_BUILD for building bundled library.

  ext/ext_skel was changed to reflect that more modules should be
  compileable as shared module.

  ext/Makefile.in has been simplified enormously.

  Dependencies are now stored in the build tree.

  Empty dependencies are not generated by buildconf anymore. They
  are now dynamically created during the build process.

  Implicit rules for .S were removed.

  The NO_RECURSION feature was removed.

  "libs.mk" has been added to all cvsignore files in ext.
2000-05-01 02:42:55 +00:00
Martin Kraemer
06e504d32a Test for EBCDIC platform 2000-04-13 12:24:28 +00:00
Sascha Schumann
179672a980 Fix the HPUX 10.20 check for non-standard reentrant time functions 2000-04-01 16:00:34 +00:00
Sascha Schumann
1e31b7755c * Add --enable-libgcc which explicitly links against libgcc.
* Some cleanup and increased use of PHP_ARG_[ENABLE|WITH]
2000-03-30 15:00:30 +00:00
Sascha Schumann
1f822b98ce Welcome PHP_ARG_ENABLE and PHP_ARG_WITH. They are there to replace the common
AC_MSG_CHECKING, AC_ARG_[ENABLE,WITH], AC_MSG_RESULT trio.
2000-03-27 23:33:38 +00:00
Sascha Schumann
a2d42419a5 Revamp session's config.m4 and reenable support for mm. The shared memory
module works now successfully again under Apache and other web servers.
2000-03-26 02:47:00 +00:00
Kristian Köhntopp
1aba4ea9d0 - Added additional DEFER macro.
- First stab at porting the recode module. Still having problems
  with the _ex() functions, they core - why?
2000-03-11 22:05:41 +00:00
Sascha Schumann
f6460bfe6f VPATH builds were broken, if the user specified the path to configure
using an absolute path. With this change, absolute and relative paths
are accepted and processed correctly.
2000-03-09 22:07:10 +00:00
Sascha Schumann
77fb7d2b64 Write configuration parameters into `config.nice', so you can redo the
same configuration with exactly one command.
2000-03-07 18:05:16 +00:00
Sascha Schumann
3bfe29fddb Support HP-UX 10.x non-standard time-related reentrant functions 2000-03-03 16:10:38 +00:00
Sascha Schumann
c5977f6503 AD_ADD_LIBRARY_DEFER allows people to add libraries in a deferred way
(needed for imap and recode)
2000-02-29 13:02:29 +00:00
Sascha Schumann
883c62b5e9 $ext_src_base is the source dir of the extension 2000-02-12 15:13:44 +00:00
Zeev Suraski
6d0ab6166c SAPIfication, Episode VI: Return of the SAPI
Remove mostly all references to APACHE and CGI_BINARY from the code.

- Apache include files are no longer included by any PHP code, except for the Apache SAPI module.
- No server specific code is in any of the base PHP code.

Still left to be done:
- Eliminate any references to APACHE from the few remaining modules.
- Move request_info.c's logic to SAPI
- Modify the regex function names, and globals, so that we can always
  include them, without having to fear any interference with Apache;
  Always use the bundled regex library
2000-02-10 19:41:21 +00:00
Sascha Schumann
aa50e6368a Set ext_base, a common prefix to the per-extension build directory
(ext/<ext-name> for in-tree builds, "" for rest)
2000-02-10 18:07:30 +00:00
Andrei Zmievski
b4864206aa Remove crud. 2000-02-02 15:33:14 +00:00
Andrei Zmievski
f0f00daa92 Moved ext/apache into sapi/apache. 2000-02-02 06:09:00 +00:00
Sascha Schumann
2fd8cbff2a Declare timezone only, if the system fails to do so. 2000-01-01 02:22:01 +00:00
Sascha Schumann
5b2ecc5b82 Typedef socklen_t, if it is not available 1999-12-30 16:09:17 +00:00
Sascha Schumann
afe0e5601b Let m4 decide what to do 1999-12-30 14:48:26 +00:00
Sascha Schumann
f2f8d38efa Integration of -ng changes. Changes:
- added support for externally built modules,
- improved support for in-tree shared modules,
- fixed diversion bugs,
- configure displays some informative messages,
- faster static build
  (libtool isn't used anymore for compiling non-PIC objects),
- dependencies comparable to automake's without requiring GNU make or GCC,
- working make clean for non-GNU makes.
1999-12-30 02:59:53 +00:00
Sascha Schumann
12f9894f54 Workaround for broken trs 1999-12-21 02:34:26 +00:00
Sascha Schumann
2e07f02451 Propagate ZTS setting correctly 1999-12-21 00:15:51 +00:00
Sascha Schumann
b47cb50ccd Separate libpaths into PHP_LDFLAGS, so that we can address them
separately (required for Apache build).
1999-12-06 15:32:01 +00:00
Sascha Schumann
420b11a0fd Allow AC_ADD_LIBRARY to append library 1999-12-05 23:10:51 +00:00
Sascha Schumann
f2a090c6f1 Add rpaths to LDFLAGS during configure, drop them later. 1999-12-05 22:41:08 +00:00
Sascha Schumann
9417570dc1 Prepend added libraries and separate LDFLAGS handling 1999-12-05 16:24:20 +00:00
Sascha Schumann
d1820e47af Use LIBS instead of EXTRA_LIBS, so that inter-library dependences can
be tested for using standard autoconf macros.
1999-12-04 18:03:00 +00:00
Stig Bakken
8f91051dda Fix shared mode for gd/xml/mysql extensions. 1999-12-04 14:45:38 +00:00
Sascha Schumann
23a1a8246e Define COMPILE_DL_MODNAME, if module is built as dynamic module 1999-12-01 23:46:17 +00:00
Sascha Schumann
e4812c0fa3 Add --enable-experimental-zts 1999-11-27 11:33:13 +00:00
Thies C. Arntzen
3d4bef49b2 fix typo 1999-11-24 09:49:30 +00:00
Sascha Schumann
a4c75707fb - add PHP_BUILD_THREAD_SAFE
- move #undef HAVE_AOLSERVER into its own config.h.stub
1999-11-24 03:27:53 +00:00
Sascha Schumann
6a25e05d95 Only create regex/Makefile, if we use the bundled regex library 1999-11-23 19:54:51 +00:00
Sascha Schumann
51c83e9f4b --enable-versioning can now be used with CGI/AOLserver as well. Note that
we do not use versioning per se anymore, but export only the required
symbols.
1999-11-20 19:00:17 +00:00
Sascha Schumann
bcb2214e99 Improve regex library selection. It lets user specify whether they want
system, apache, or php's regex library by using the --with-regex option.
"php" is the default; if you use --with-apache in combination with
Apache 1.3.x, the default is "apache".
1999-11-13 16:51:33 +00:00
Sascha Schumann
117ebf3ca6 - remove extra CPPFLAGS from top-level Makefile
- HSREGEX defaults to what the user wants, but can be changed now internally
1999-11-13 13:27:49 +00:00
Sascha Schumann
7dd7f38003 (AC_EXPAND_PATH) Expand relative paths completely 1999-11-13 12:38:23 +00:00
Sascha Schumann
ceae3847b8 Enable selective regex library compilation. 1999-11-12 20:56:30 +00:00
Sascha Schumann
232afa4816 * archive-based convenience libraries completely replaced
with libtool components

        * SAPI targets can enable thread-safe mode and define
          shared/static/program build target

        * all configure scripts use the same config.cache

        * phplibdir is $(top_builddir)/modules to avoid
          permission problems

        * sapi/*/Makefile.inc are gone

        * runpath handling cleaned up

        * top-level Makefile.in obsoleted through Makefile.am

        * --enable-versioning uses libtool's cleaner and more
          portable -export-symbols feature
1999-10-04 15:18:26 +00:00
Sascha Schumann
0fe632bcee Fix typo. This caused strange errors when using --with-apxs. 1999-10-04 09:51:46 +00:00
Stig Bakken
1cb0d88186 Decent configure speedup. Makefiles are now generated only for the
extensions you are including.  Got rid of configure.in.in.
Moved the last Apache-specific files into sapi/apache and made both
static and DSO build work again (it still doesn't run properly).
1999-09-29 15:17:02 +00:00
Stig Bakken
3bc6f8155c added AC_SYS_LFS from fileutils 1999-09-27 13:15:20 +00:00
Sascha Schumann
09ad17f67e Avoid specifying standard paths. This might result in compiler problems
(see #1937, #2367)
1999-09-26 15:38:58 +00:00
Sascha Schumann
8b462c1acf Do nothing, if PHP_RPATHS is empty. 1999-09-26 09:12:55 +00:00
Sascha Schumann
df42e494d7 Disable rpaths optionally. 1999-09-26 09:05:56 +00:00
Sascha Schumann
e23d66fb5c silence libtool 1999-09-16 08:26:46 +00:00
Stig Bakken
809198b916 Added PHP_WITH_SHARED for checking "shared,*" prefix when configuring
extensions.
1999-09-13 17:17:51 +00:00
Sascha Schumann
2e844a0799 add missing result msg 1999-09-12 12:20:59 +00:00
Sascha Schumann
5b293ecd4d - add global startup/shutdown handlers
- improve genif.sh to also consider all header files for inclusion
  (checks for phpext_)
- use vsnprintf in main.c to avoid buffer overflows
- improve sessions's mm module to cope better with OOM situations
  within the shared memory segment
- fix typo wrt session.auto_start
1999-09-03 17:46:39 +00:00
Sascha Schumann
85151a61ce remove all references to RAW_RPATHs
Apache builds now correctly when shared core is used
1999-08-22 18:47:27 +00:00
Mike Gerdts
1570c5b30e Fix bug #1949: -rdynamic not handled properly with Sun's C compiler 1999-08-03 20:56:13 +00:00
Stig Bakken
46783929a3 more Solaris fun 1999-07-24 19:10:17 +00:00
Stig Bakken
7c2f1384d4 added workaround for Solaris PIC weirdness.
added RPM spec file for a future "official" RPM, work-in-progress
1999-07-24 19:02:38 +00:00
Stig Bakken
d9f52fe0a7 First cut at standard way of making dynamically loadable extensions on UNIX.
Examples on how to test:

 ./configure --with-xml              static
 ./configure --with-xml=/opt         static
 ./configure --with-xml=shared       shared
 ./configure --with-xml=shared,/opt  shared

The difference between these two is that when the extension is shared, it
is not merged into libphpext.a.  The shared extension is currently always
built.  I can't find a way to do just one or the other with automake/libtool,
if someone has a clever idea, please come forward. :-)

"make install" installs the .so (as well as a lot of other cruft) in
$prefix/lib/php.
1999-07-21 21:56:25 +00:00
Sascha Schumann
07e30106b9 get rid of --with-shared-apache
it's currently broken and redundant (use APXS instead)
1999-07-20 16:54:05 +00:00
Sascha Schumann
064a4ea88a avoid nameclash 1999-07-16 18:00:06 +00:00
Sascha Schumann
a80609c773 typo 1999-07-11 10:52:14 +00:00
Sascha Schumann
f0febf044f merge in some autoconf stuff 1999-07-11 10:51:41 +00:00
Sascha Schumann
650986c8d1 work around that solaris bug 1999-06-28 13:37:59 +00:00
Sascha Schumann
aa4e00b33c port over autoconf fixes from php3 1999-06-27 21:14:00 +00:00
Sascha Schumann
af56b0f936 whoops, kill debugging message 1999-06-20 18:54:08 +00:00
Sascha Schumann
43a466a076 Introduce AC_ADD_* macros
The use of AC_EXPAND_PATH makes it possible to continue
to use relative paths when configuring PHP.
(e.g. --with-apache=../apache-1.3.x works again)
1999-06-20 18:52:46 +00:00
Sascha Schumann
c3151f742b use standard autoconf variables 1999-06-20 17:04:30 +00:00
Stig Bakken
9a66ffbaee * added --enable-thread-safety switch
* now generating internal_functions.c
1999-05-03 11:11:23 +00:00
Andrey Hristov
b9d3a80709 Fixing a few thing to make AC_CHECK_CC_OPTION work. 1999-04-26 18:06:04 +00:00
Sascha Schumann
11fc109ca6 add mcrypt module 1999-04-25 16:50:40 +00:00
Sascha Schumann
6955cacb21 unreliable check whether cc option can be used really 1999-04-24 23:36:25 +00:00
Stig Bakken
2c0ad3ee25 last bunch of extensions moving to ext/
fhttpd module taken out of functions, functions is ready to go.
The only extensions I have tested are gd+freetype and odbc(solid).
Please try compiling in your favourite extensions and let me know how it
works.
1999-04-22 02:48:28 +00:00
Stig Bakken
f582bec9db moved db 1999-04-21 23:37:47 +00:00
Stig Bakken
f67a9bdc52 moved dav, msql and oracle to ext/ 1999-04-21 22:49:16 +00:00
Stig Bakken
43ed903949 remove old libtool and automake stuff that was borrowed using 3.0 1999-04-21 15:52:42 +00:00
Stig Bakken
54468d2e75 odbc compiles and runs on UNIX again (tested with Solid 2.3) 1999-04-20 01:03:12 +00:00
Stig Bakken
257de2bade First commit of re-structuring phase one. We have started using automake in
sub-directories and started to move extension code into ext/<name>.  For now,
I have moved the "standard" extension (which is quite a mix of everything
right now) and the GD extension into their own subdirs in ext/.
The configure script now also runs configure in the libzend directory
automatically and makes sure php4 and libzend use the same config.cache file.
To avoid running configure in libzend, use the --no-recursion option.
"make" in php4 also builds libzend now.
The Apache module doesn't compile right now, but a fix for that is
coming up.
1999-04-17 00:37:12 +00:00