tweak build so that it mirrors the source filesystem layout under the build dir. This allows GD extension to build.

This commit is contained in:
Wez Furlong 2003-12-07 02:58:56 +00:00
parent 96a745f2e2
commit 72f73b7785
3 changed files with 49 additions and 33 deletions

View File

@ -1,7 +1,7 @@
// $Id$
// vim:ft=javascript
ARG_WITH("gd", "Bundled GD support", "no");
ARG_WITH("gd", "Bundled GD support", "yes");
if (PHP_GD != "no") {
if (CHECK_LIB("libjpeg.lib", "gd", PHP_GD) &&
@ -10,32 +10,36 @@ if (PHP_GD != "no") {
CHECK_LIB("zlib.lib", "gd", PHP_GD) &&
CHECK_HEADER_ADD_INCLUDE("gd.h", "CFLAGS_GD", "ext\\gd\\libgd;" + PHP_GD)) {
EXTENSION("gd", "gd.c gdttf.c");
ADD_SOURCES("ext/gd/libgd", "gd2copypal.c gd_arc_f_buggy.c gd.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c gdfonts.c gdfontt.c gdft.c gd_gd2.c gd_gd.c gd_gif_in.c gdhelpers.c gd_io.c gd_io_dp.c gd_io_file.c gd_io_ss.c gd_jpeg.c gdkanji.c gd_png.c gd_ss.c gdtables.c gd_topal.c gd_wbmp.c gdxpm.c wbmp.c xbm.c", "gd");
EXTENSION("gd", "gd.c gdttf.c", null, "-Iext/gd/libgd");
ADD_SOURCES("ext/gd/libgd", "gd2copypal.c gd_arc_f_buggy.c gd.c \
gdcache.c gdfontg.c gdfontl.c gdfontmb.c gdfonts.c gdfontt.c \
gdft.c gd_gd2.c gd_gd.c gd_gif_in.c gdhelpers.c gd_io.c gd_io_dp.c \
gd_io_file.c gd_io_ss.c gd_jpeg.c gdkanji.c gd_png.c gd_ss.c \
gdtables.c gd_topal.c gd_wbmp.c gdxpm.c wbmp.c xbm.c", "gd");
AC_DEFINE('HAVE_LIBGD', 1, 'GD support');
ADD_FLAG("CFLAGS_GD", " \
/D HAVE_GD_BUNDLED=1 \
/D HAVE_GD_GD2 \
/D HAVE_GD_GIF_READ=1 \
/D HAVE_GDIMAGECOLORRESOLVE=1 \
/D HAVE_GD_IMAGESETBRUSH=1 \
/D HAVE_GD_IMAGESETTILE=1 \
/D HAVE_GD_JPG \
/D HAVE_GD_PNG \
/D HAVE_GD_STRINGFTEX=1 \
/D HAVE_GD_STRINGTTF=1 \
/D HAVE_GD_WBMP \
/D HAVE_GD_XBM \
/D HAVE_LIBFREETYPE=1 \
/D HAVE_LIBGD13=1 \
/D HAVE_LIBGD15=1 \
/D HAVE_LIBGD20=1 \
/D HAVE_LIBGD204=1 \
/D HAVE_LIBJPEG \
/D HAVE_LIBPNG \
/D USE_GD_IMGSTRTTF \
/D USE_GD_IOCTX \
/D MSWIN32 \
/D HAVE_GD_BUNDLED=1 \
/D HAVE_GD_GD2 \
/D HAVE_GD_GIF_READ=1 \
/D HAVE_GDIMAGECOLORRESOLVE=1 \
/D HAVE_GD_IMAGESETBRUSH=1 \
/D HAVE_GD_IMAGESETTILE=1 \
/D HAVE_GD_JPG \
/D HAVE_GD_PNG \
/D HAVE_GD_STRINGFTEX=1 \
/D HAVE_GD_STRINGTTF=1 \
/D HAVE_GD_WBMP \
/D HAVE_GD_XBM \
/D HAVE_LIBFREETYPE=1 \
/D HAVE_LIBGD13=1 \
/D HAVE_LIBGD15=1 \
/D HAVE_LIBGD20=1 \
/D HAVE_LIBGD204=1 \
/D HAVE_LIBJPEG \
/D HAVE_LIBPNG \
/D USE_GD_IMGSTRTTF \
/D USE_GD_IOCTX \
/D MSWIN32 \
");
} else {
WARNING("gd not enabled; libraries and headers not found");

View File

@ -95,6 +95,8 @@ if (PHP_PHP_BUILD == 'no') {
PHP_PHP_BUILD = "..\\php_build";
} else if (FSO.FolderExists("..\\win32build")) {
PHP_PHP_BUILD = "..\\win32build";
} else if (FSO.FolderExists("..\\php-win32-dev\\php_build")) {
PHP_PHP_BUILD = "..\\php-win32-dev\\php_build";
}
}

View File

@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
// $Id: confutils.js,v 1.18 2003-12-06 00:00:31 wez Exp $
// $Id: confutils.js,v 1.19 2003-12-07 02:58:56 wez Exp $
var STDOUT = WScript.StdOut;
var STDERR = WScript.StdErr;
@ -631,16 +631,26 @@ function ADD_SOURCES(dir, file_list, target)
dir = dir.replace(new RegExp("/", "g"), "\\");
var mangle_dir = dir.replace(new RegExp("[\\\\/.]", "g"), "_");
var objs_line = "";
var srcs_line = "";
var sub_build = "$(BUILD_DIR)\\";
// if (target != "php") {
build_dirs[build_dirs.length] = target;
sub_build += target + "\\";
// }
DEFINE("CFLAGS_BD_" + target.toUpperCase(), "/Fo" + sub_build + " /Fd" + sub_build + " /Fp" + sub_build + " /FR" + sub_build + " ");
sub_build += dir + "\\";
var dirs = dir.split("\\");
var i, d = "";
for (i = 0; i < dirs.length; i++) {
d += dirs[i];
build_dirs[build_dirs.length] = d;
d += "\\";
}
var bd_flags_name = "CFLAGS_BD_" + mangle_dir.toUpperCase();
DEFINE(bd_flags_name, "/Fo" + sub_build + " /Fd" + sub_build + " /Fp" + sub_build + " /FR" + sub_build + " ");
for (i in file_list) {
src = file_list[i];
@ -657,13 +667,13 @@ function ADD_SOURCES(dir, file_list, target)
}
} else {
MFO.WriteLine(sub_build + obj + ": " + dir + "\\" + src);
MFO.WriteLine("\t$(CC) $(CFLAGS) $(" + flags + ") $(CFLAGS_BD_" + target.toUpperCase() + ") -c " + dir + "\\" + src + " -o " + sub_build + obj);
MFO.WriteLine("\t$(CC) $(CFLAGS) $(" + flags + ") $(" + bd_flags_name + ") -c " + dir + "\\" + src + " -o " + sub_build + obj);
}
}
if (PHP_ONE_SHOT == "yes") {
MFO.WriteLine(objs_line + ": " + srcs_line);
MFO.WriteLine("\t$(CC) $(CFLAGS) $(" + flags + ") $(CFLAGS_BD_" + target.toUpperCase() + ") -c " + srcs_line);
MFO.WriteLine("\t$(CC) $(CFLAGS) $(" + flags + ") $(" + bd_flags_name + ") -c " + srcs_line);
}
DEFINE(sym, tv);