Commit e0006538 authored by Jason Rumney's avatar Jason Rumney
Browse files

Automatically detect libpng.

parent c262430d
......@@ -85,6 +85,7 @@ if "%1" == "--no-opt" goto noopt
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
echo Usage: configure [options]
......@@ -97,6 +98,7 @@ echo. --no-opt disable optimization
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 ----------------------------------------------------------------------
......@@ -143,6 +145,12 @@ set userldflags=%userldflags%%sep2%%1
set sep2= %nothing%
goto again
rem ----------------------------------------------------------------------
set pngsupport=N
goto again
rem ----------------------------------------------------------------------
rem Check that necessary utilities (cp and rm) are present.
......@@ -165,7 +173,7 @@ goto end
rem ----------------------------------------------------------------------
rem Auto-detect compiler if not specified, and validate GCC if chosen.
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 @@ goto end
set COMPILER=gcc
rm -f junk.c junk.o
echo Using 'gcc'
goto genmakefiles
goto compilercheckdone
rm -f junk.c junk.obj
echo Using 'MSVC'
goto genmakefiles
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.
goto :pngDone
echo ...PNG header available, building with PNG support.
set HAVE_PNG=1
rm -f junk.c junk.obj
rem ----------------------------------------------------------------------
......@@ -261,8 +295,13 @@ echo # End of settings from configure.bat>>config.settings
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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment