changeset 49450:a2e59f9d34b1

Automatically detect libpng.
author Jason Rumney <jasonr@gnu.org>
date Sat, 25 Jan 2003 20:50:48 +0000
parents b153cf78084e
children c4911d7933ae
files nt/configure.bat
diffstat 1 files changed, 42 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/nt/configure.bat	Sat Jan 25 20:50:26 2003 +0000
+++ b/nt/configure.bat	Sat Jan 25 20:50:48 2003 +0000
@@ -85,6 +85,7 @@
 if "%1" == "--no-cygwin" goto nocygwin
 if "%1" == "--cflags" goto usercflags
 if "%1" == "--ldflags" goto userldflags
+if "%1" == "--without-png" goto withoutpng
 if "%1" == "" goto checkutils
 :usage
 echo Usage: configure [options]
@@ -97,6 +98,7 @@
 echo.   --no-cygwin             use -mno-cygwin option with GCC
 echo.   --cflags FLAG           pass FLAG to compiler
 echo.   --ldflags FLAG          pass FLAG to compiler when linking
+echo.   --without-png          	do not use libpng even if it is installed 
 goto end
 rem ----------------------------------------------------------------------
 :setprefix
@@ -143,6 +145,12 @@
 set sep2= %nothing%
 shift
 goto again
+rem ----------------------------------------------------------------------
+
+:withoutpng
+set pngsupport=N
+set HAVE_PNG=
+goto again
 
 rem ----------------------------------------------------------------------
 rem    Check that necessary utilities (cp and rm) are present.
@@ -165,7 +173,7 @@
 rem ----------------------------------------------------------------------
 rem   Auto-detect compiler if not specified, and validate GCC if chosen.
 :checkcompiler
-if (%COMPILER%)==(cl) goto genmakefiles
+if (%COMPILER%)==(cl) goto compilercheckdone
 if (%COMPILER%)==(gcc) goto checkgcc
 
 echo Checking whether 'cl' is available...
@@ -231,13 +239,39 @@
 set COMPILER=gcc
 rm -f junk.c junk.o
 echo Using 'gcc'
-goto genmakefiles
+goto compilercheckdone
 
 :clOk
 set COMPILER=cl
 rm -f junk.c junk.obj
 echo Using 'MSVC'
-goto genmakefiles
+
+:compilercheckdone
+
+rem ----------------------------------------------------------------------
+rem   Check for external image libraries. Since they are loaded
+rem   dynamically, the libraries themselves do not need to be present
+rem   at compile time, but the header files are required.
+
+if (%pngsupport%) == (N) goto pngDone
+
+echo Checking for libpng...
+echo #include "png.h" >junk.c
+echo main (){} >>junk.c
+rem   -o option is ignored with cl, but allows result to be consistent.
+%COMPILER% %usercflags% -c junk.c -o junk.obj
+if exist junk.obj goto havePng
+
+echo ...building without PNG support.
+set HAVE_PNG=
+goto :pngDone
+
+:havePng
+echo ...PNG header available, building with PNG support.
+set HAVE_PNG=1
+
+:pngDone
+rm -f junk.c junk.obj
 
 rem ----------------------------------------------------------------------
 :genmakefiles
@@ -261,8 +295,13 @@
 echo. >>config.settings
 
 copy config.nt ..\src\config.h
+echo. >>..\src\config.h
+echo /* Start of settings from configure.bat.  */ >>..\src\config.h
 if not "(%usercflags%)" == "()" echo #define USER_CFLAGS " %usercflags%">>..\src\config.h
 if not "(%userldflags%)" == "()" echo #define USER_LDFLAGS " %userldflags%">>..\src\config.h
+if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>..\src\config.h
+echo /* End of settings from configure.bat.  */ >>..\src\config.h
+
 copy paths.h ..\src\epaths.h
 
 copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile