1dnl 2dnl SPDX-License-Identifier: BSD-3-Clause 3dnl Copyright (c) Contributors to the OpenEXR Project. 4dnl 5 6dnl Process this file with autoconf to produce a configure script. 7AC_INIT(DtexToExr, 1.0.0) 8AC_SUBST(DTEXTOEXR_VERSION, 1.0.0) 9AC_CANONICAL_HOST 10AC_CONFIG_SRCDIR(DtexToExr.cpp) 11AM_INIT_AUTOMAKE(1.6.3) dnl Require automake 1.6.3 or better 12AM_MAINTAINER_MODE 13 14 15LIBTOOL_CURRENT=6 16LIBTOOL_REVISION=0 17LIBTOOL_AGE=0 18LIBTOOL_VERSION=$LIBTOOL_CURRENT:$LIBTOOL_REVISION:$LIBTOOL_AGE 19AC_SUBST(LIBTOOL_VERSION) 20 21dnl Checks for programs. 22AC_PROG_CXX 23AC_PROG_INSTALL 24AC_PROG_CC 25AC_PROG_LN_S 26AC_PROG_LIBTOOL 27AC_PROG_MAKE_SET 28 29dnl 30dnl PKGCONFIG preparations 31dnl 32 33if test -z "${PKG_CONFIG_PATH}"; then 34 PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig 35fi 36 37export PKG_CONFIG_PATH 38 39LIB64_IF_EXISTS="" 40if [[ -e /usr/lib64 ]]; then 41 LIB64_IF_EXISTS="-L/usr/lib64" 42fi 43 44 45dnl 46dnl get ccflags and libs from openexr and prmansdk packages 47dnl 48 49dnl 50dnl get ccflags and libs from other packages in use and check 51dnl whether test programs compile. 52dnl OpenEXR is required. IlmBase is required. 53dnl 54 55dnl 56dnl check openexr 57dnl 58AM_PATH_PKGCONFIG( 59 [OPENEXR_CXXFLAGS], 60 [OPENEXR_LDFLAGS], 61 [OPENEXR_LIBS], 62 [OpenEXR], 63 [OpenEXR], 64 [$LIB64_IF_EXISTS -L/usr/local/lib], 65 [-lOpenEXR -lImath -lIex -lHalf -lz -lpthread], 66 [openexr-prefix]) 67 68 69PRMANSDK_CXXFLAGS="" 70PRMANSDK_LDFLAGS="" 71PRMANSDK_LIBS="" 72PRMANSDK_LIBNAME="prman" 73 74AC_ARG_WITH( 75 [prmansdk-include-dir], 76 [AS_HELP_STRING([--with-prmansdk-include-dir], 77 [prman sdk include directory])], 78 [PRMANSDK_CXXFLAGS="-I$withval"]) 79 80AC_ARG_WITH( 81 [prmansdk-lib-dir], 82 [AS_HELP_STRING([--with-prmansdk-lib-dir], 83 [prman sdk library directory])], 84 [PRMANSDK_LDFLAGS="-L$withval -Wl,-rpath $withval"]) 85 86AC_ARG_WITH( 87 [prmansdk-libname], 88 [AS_HELP_STRING([--with-prmansdk-libname], 89 [prman sdk library name (default:prman)])], 90 [PRMANSDK_LIBNAME="$withval"]) 91 92PRMANSDK_LIBS="-l$PRMANSDK_LIBNAME" 93 94export PRMANSDK_CXXFLAGS 95export PRMANSDK_LDFLAGS 96export PRMANSDK_LIBS 97export PRMANSDK_LIBNAME 98 99AC_SUBST([PRMANSDK_CXXFLAGS]) 100AC_SUBST([PRMANSDK_LDFLAGS]) 101AC_SUBST([PRMANSDK_LIBS]) 102AC_SUBST([PRMANSDK_LIBNAME]) 103 104CXXFLAGS="$CXXFLAGS $PRMANSDK_CXXFLAGS $OPENEXR_CXXFLAGS" 105LDFLAGS="$LDFLAGS $PRMANSDK_LDFLAGS $OPENEXR_LDFLAGS" 106 107dnl 108dnl OpenEXR test program 109dnl 110 111AM_COMPILELINKRUN( 112 [OpenEXR], 113 [openexrtest], 114 [$OPENEXR_CXXFLAGS], 115 [$OPENEXR_LDFLAGS], 116 [$OPENEXR_LIBS],[[ 117#include <stdlib.h> 118#include <ImfTestFile.h> 119#include <OpenEXRConfig.h> 120]], 121 [[OPENEXR_IMF_NAMESPACE::isOpenExrFile("notExist");]], 122 AC_MSG_RESULT([Compiled and ran OpenEXR test program.]), 123 AC_MSG_ERROR([Could not compile OpenEXR test program.])) 124 125dnl 126dnl Dtex test program 127dnl 128 129AM_COMPILELINKRUN( 130 [PrmanSDK], 131 [prmansdktest], 132 [$PRMANSDK_CXXFLAGS], 133 [$PRMANSDK_LDFLAGS], 134 [$PRMANSDK_LIBS], 135[[ 136#include <stdio.h> 137#include <stdlib.h> 138#include <dtex.h> 139]], 140[[ 141DtexCache* dtexCache = DtexCreateCache( 10000, NULL ); 142if ( dtexCache ) { DtexDestroyCache( dtexCache ); } 143]], 144 AC_MSG_RESULT([Compiled and ran PrmanSDK test program.]), 145 AC_MSG_ERROR([Could not compile PrmanSDK test program.])) 146 147 148dnl 149dnl if some autoconf expert knows how to get the actual prefix used, please 150dnl tell us. Until then... 151dnl 152if test "x$prefix" != "xNONE"; then 153 ACTUAL_PREFIX=$prefix 154else 155 ACTUAL_PREFIX=/usr/local 156fi 157 158dnl Checks for header files. 159AC_HEADER_STDC 160AC_CHECK_HEADERS(limits.h unistd.h) 161 162dnl Checks for typedefs, structures, and compiler characteristics. 163AC_C_CONST 164AC_C_INLINE 165AC_TYPE_SIZE_T 166 167dnl gcc optimization 168AC_MSG_CHECKING(for gcc optimization flags) 169old_cflags=$CFLAGS 170CFLAGS="$CFLAGS -pipe" 171AC_TRY_COMPILE([#include <stdio.h>], 172[ printf ("hello, world"); ], 173[ EXTRA_OPT_CFLAGS="-pipe"],[ EXTRA_OPT_CFLAGS=""]) 174CFLAGS=$old_cflags 175AC_MSG_RESULT([$EXTRA_OPT_CFLAGS]) 176 177dnl Platform-specific stuff 178case "$host" in 179*darwin*) 180 AC_DEFINE(HAVE_DARWIN) 181 182 dnl OS X universal binary support, requires --disable-dependency-tracking 183 AC_ARG_ENABLE(osx-universal-binaries, 184 AC_HELP_STRING([--enable-osx-universal-binaries], 185 [build universal binaries on OS X [[default=no]]]), 186 [build_osxuniversal="${enableval}"], [build_osxuniversal=no]) 187 188 if test "${build_osxuniversal}" != no ; then 189 if test "$enable_dependency_tracking" != no ; then 190 AC_MSG_ERROR([--enable-osx-universal-binary requires --disable-dependency-tracking. 191Please re-run configure with these options: 192 --disable-dependency-tracking --enable-osx-universal-binary 193 ]) 194 fi 195 CXXFLAGS="$CXXFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" 196 dnl LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" 197 fi 198 199 CXXFLAGS="$CXXFLAGS" 200 ;; 201esac 202 203AM_CFLAGS="$EXTRA_OPT_CFLAGS" 204AM_CXXFLAGS="$EXTRA_OPT_CFLAGS" 205 206AC_SUBST(AM_CFLAGS) 207AC_SUBST(AM_CXXFLAGS) 208 209AC_OUTPUT([ 210Makefile 211]) 212 213if test "x$build_osxuniversal" = xyes; then 214 AC_MSG_RESULT([ 215--------------------------------------------- 216Summary for DtexToExr features: 217 218build OS X universal binaries $build_osxuniversal 219--------------------------------------------- 220 ]) 221else 222 AC_MSG_RESULT([ 223--------------------------------------------- 224Summary for DtexToExr features: 225 226--------------------------------------------- 227 ]) 228fi 229