diff --git a/Makefile b/Makefile deleted file mode 100644 index 51ba805..0000000 --- a/Makefile +++ /dev/null @@ -1,100 +0,0 @@ -all: library all_samples - -CFLAGS=-O4 -I. -w - -# OpenMP support -#CFLAGS=-O4 -I. -w -fopenmp - -# LCMS support -#LCMS_DEF=-DUSE_LCMS -I/usr/local/include -#LCMS_LIB=-L/usr/local/lib -llcms - - -DCRAW_LIB_OBJECTS=object/dcraw_common.o object/libraw_cxx.o object/libraw_c_api.o object/dcraw_fileio.o -DCRAW_LIB_MT_OBJECTS=object/dcraw_common_mt.o object/libraw_cxx_mt.o object/libraw_c_api_mt.o object/dcraw_fileio_mt.o - -library: lib/libraw.a lib/libraw_r.a - -all_samples: bin/raw-identify bin/simple_dcraw bin/dcraw_emu bin/dcraw_half bin/half_mt bin/mem_image bin/unprocessed_raw bin/4channels - -install: library - @if [ -d /usr/local/include ] ; then cp -R libraw /usr/local/include/ ; else echo 'no /usr/local/include' ; fi - @if [ -d /usr/local/lib ] ; then cp lib/libraw.a lib/libraw_r.a /usr/local/lib/ ; else echo 'no /usr/local/lib' ; fi - -install-binaries: all_samples - @if [ -d /usr/local/bin ] ; then cp bin/[a-z]* /usr/local/bin/ ; else echo 'no /usr/local/bin' ; fi - - -#binaries - -bin/raw-identify: lib/libraw.a samples/raw-identify.cpp - g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/raw-identify samples/raw-identify.cpp -L./lib -lraw -lm ${LCMS_LIB} - -bin/unprocessed_raw: lib/libraw.a samples/unprocessed_raw.cpp - g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/unprocessed_raw samples/unprocessed_raw.cpp -L./lib -lraw -lm ${LCMS_LIB} - -bin/4channels: lib/libraw.a samples/4channels.cpp - g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/4channels samples/4channels.cpp -L./lib -lraw -lm ${LCMS_LIB} - -bin/simple_dcraw: lib/libraw.a samples/simple_dcraw.cpp - g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/simple_dcraw samples/simple_dcraw.cpp -L./lib -lraw -lm ${LCMS_LIB} - -bin/mem_image: lib/libraw.a samples/mem_image.cpp - g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/mem_image samples/mem_image.cpp -L./lib -lraw -lm ${LCMS_LIB} - -bin/dcraw_half: lib/libraw.a object/dcraw_half.o - gcc -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/dcraw_half object/dcraw_half.o -L./lib -lraw -lm -lstdc++ ${LCMS_LIB} - -bin/half_mt: lib/libraw_r.a object/half_mt.o - gcc ${LCMS_DEF} -pthread ${CFLAGS} -o bin/half_mt object/half_mt.o -L./lib -lraw_r -lm -lstdc++ ${LCMS_LIB} - -bin/dcraw_emu: lib/libraw.a samples/dcraw_emu.cpp - g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/dcraw_emu samples/dcraw_emu.cpp -L./lib -lraw -lm ${LCMS_LIB} - -#objects - -object/dcraw_common.o: internal/dcraw_common.cpp - g++ -c -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o object/dcraw_common.o internal/dcraw_common.cpp - -object/dcraw_fileio.o: internal/dcraw_fileio.cpp - g++ -c -DLIBRAW_NOTHREADS ${CFLAGS} ${LCMS_DEF} -o object/dcraw_fileio.o internal/dcraw_fileio.cpp - -object/libraw_cxx.o: src/libraw_cxx.cpp - g++ -c -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o object/libraw_cxx.o src/libraw_cxx.cpp - -object/libraw_c_api.o: src/libraw_c_api.cpp - g++ -c -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o object/libraw_c_api.o src/libraw_c_api.cpp - -object/dcraw_half.o: samples/dcraw_half.c - gcc -c -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o object/dcraw_half.o samples/dcraw_half.c - -object/half_mt.o: samples/half_mt.c - gcc -c -pthread ${LCMS_DEF} ${CFLAGS} -o object/half_mt.o samples/half_mt.c - - -lib/libraw.a: ${DCRAW_LIB_OBJECTS} - rm -f lib/libraw.a - ar crv lib/libraw.a ${DCRAW_LIB_OBJECTS} - ranlib lib/libraw.a - -lib/libraw_r.a: ${DCRAW_LIB_MT_OBJECTS} - rm -f lib/libraw_r.a - ar crv lib/libraw_r.a ${DCRAW_LIB_MT_OBJECTS} - ranlib lib/libraw_r.a - -object/dcraw_common_mt.o: internal/dcraw_common.cpp - g++ -c -pthread ${LCMS_DEF} ${CFLAGS} -o object/dcraw_common_mt.o internal/dcraw_common.cpp - -object/dcraw_fileio_mt.o: internal/dcraw_fileio.cpp - g++ -c -pthread ${LCMS_DEF} ${CFLAGS} -o object/dcraw_fileio_mt.o internal/dcraw_fileio.cpp - -object/libraw_cxx_mt.o: src/libraw_cxx.cpp - g++ -c ${LCMS_DEF} -pthread ${CFLAGS} -o object/libraw_cxx_mt.o src/libraw_cxx.cpp - -object/libraw_c_api_mt.o: src/libraw_c_api.cpp - g++ -c ${LCMS_DEF} -pthread ${CFLAGS} -o object/libraw_c_api_mt.o src/libraw_c_api.cpp - -clean: - rm -fr bin/*.dSYM - rm -f *.o *~ src/*~ samples/*~ internal/*~ libraw/*~ lib/lib*.a bin/[4a-z]* object/*o dcraw/*~ doc/*~ bin/*~ - diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..d164bf3 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,79 @@ +# autoconf macros +ACLOCAL_AMFLAGS = -I m4 + +# Headers +nobase_include_HEADERS = libraw/libraw.h \ + libraw/libraw_alloc.h \ + libraw/libraw_const.h \ + libraw/libraw_datastream.h \ + libraw/libraw_internal.h \ + libraw/libraw_types.h \ + libraw/libraw_version.h + +# Docs +doc_DATA = COPYRIGHT \ + LICENSE.CDDL \ + LICENSE.LGPL \ + LICENSE.LibRaw.pdf \ + Changelog.txt + +# pkg-config .pc files +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libraw.pc libraw_r.pc + +# Libraries +lib_LIBRARIES = libraw.a libraw_r.a + +libraw_a_CPPFLAGS = -DLIBRAW_NOTHREADS +libraw_a_SOURCES = internal/dcraw_common.cpp \ + internal/dcraw_fileio.cpp \ + src/libraw_cxx.cpp \ + src/libraw_c_api.cpp + +libraw_r_a_CXXFLAGS = -pthread +libraw_r_a_SOURCES = $(libraw_a_SOURCES) + + +# Sample binaries +if EXAMPLES +bin_PROGRAMS = raw-identify \ + unprocessed_raw \ + 4channels \ + simple_dcraw \ + mem_image \ + dcraw_half \ + half_mt \ + dcraw_emu +endif + +raw_identify_SOURCES = samples/raw-identify.cpp +raw_identify_CPPFLAGS = $(libraw_a_CPPFLAGS) +raw_identify_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) + +unprocessed_raw_SOURCES = samples/unprocessed_raw.cpp +unprocessed_raw_CPPFLAGS = $(libraw_a_CPPFLAGS) +unprocessed_raw_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) + +4channels_SOURCES = samples/4channels.cpp +4channels_CPPFLAGS = $(libraw_a_CPPFLAGS) +4channels_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) + +simple_dcraw_SOURCES = samples/simple_dcraw.cpp +simple_dcraw_CPPFLAGS = $(libraw_a_CPPFLAGS) +simple_dcraw_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) + +mem_image_SOURCES = samples/mem_image.cpp +mem_image_CPPFLAGS = $(libraw_a_CPPFLAGS) +mem_image_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) + +dcraw_half_SOURCES = samples/dcraw_half.c +dcraw_half_CPPFLAGS = $(libraw_a_CPPFLAGS) +dcraw_half_LDADD = libraw.a -lm -lraw -lstdc++ $(LCMS_LIBS) + +half_mt_SOURCES = samples/half_mt.c +half_mt_CFLAGS = $(libraw_r_a_CXXFLAGS) +half_mt_LDADD = libraw_r.a -lm -lraw_r -lstdc++ $(LCMS_LIBS) + +dcraw_emu_SOURCES = samples/dcraw_emu.cpp +dcraw_emu_CPPFLAGS = $(libraw_a_CPPFLAGS) +dcraw_emu_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) diff --git a/Makefile.old b/Makefile.old new file mode 100644 index 0000000..51ba805 --- /dev/null +++ b/Makefile.old @@ -0,0 +1,100 @@ +all: library all_samples + +CFLAGS=-O4 -I. -w + +# OpenMP support +#CFLAGS=-O4 -I. -w -fopenmp + +# LCMS support +#LCMS_DEF=-DUSE_LCMS -I/usr/local/include +#LCMS_LIB=-L/usr/local/lib -llcms + + +DCRAW_LIB_OBJECTS=object/dcraw_common.o object/libraw_cxx.o object/libraw_c_api.o object/dcraw_fileio.o +DCRAW_LIB_MT_OBJECTS=object/dcraw_common_mt.o object/libraw_cxx_mt.o object/libraw_c_api_mt.o object/dcraw_fileio_mt.o + +library: lib/libraw.a lib/libraw_r.a + +all_samples: bin/raw-identify bin/simple_dcraw bin/dcraw_emu bin/dcraw_half bin/half_mt bin/mem_image bin/unprocessed_raw bin/4channels + +install: library + @if [ -d /usr/local/include ] ; then cp -R libraw /usr/local/include/ ; else echo 'no /usr/local/include' ; fi + @if [ -d /usr/local/lib ] ; then cp lib/libraw.a lib/libraw_r.a /usr/local/lib/ ; else echo 'no /usr/local/lib' ; fi + +install-binaries: all_samples + @if [ -d /usr/local/bin ] ; then cp bin/[a-z]* /usr/local/bin/ ; else echo 'no /usr/local/bin' ; fi + + +#binaries + +bin/raw-identify: lib/libraw.a samples/raw-identify.cpp + g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/raw-identify samples/raw-identify.cpp -L./lib -lraw -lm ${LCMS_LIB} + +bin/unprocessed_raw: lib/libraw.a samples/unprocessed_raw.cpp + g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/unprocessed_raw samples/unprocessed_raw.cpp -L./lib -lraw -lm ${LCMS_LIB} + +bin/4channels: lib/libraw.a samples/4channels.cpp + g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/4channels samples/4channels.cpp -L./lib -lraw -lm ${LCMS_LIB} + +bin/simple_dcraw: lib/libraw.a samples/simple_dcraw.cpp + g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/simple_dcraw samples/simple_dcraw.cpp -L./lib -lraw -lm ${LCMS_LIB} + +bin/mem_image: lib/libraw.a samples/mem_image.cpp + g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/mem_image samples/mem_image.cpp -L./lib -lraw -lm ${LCMS_LIB} + +bin/dcraw_half: lib/libraw.a object/dcraw_half.o + gcc -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/dcraw_half object/dcraw_half.o -L./lib -lraw -lm -lstdc++ ${LCMS_LIB} + +bin/half_mt: lib/libraw_r.a object/half_mt.o + gcc ${LCMS_DEF} -pthread ${CFLAGS} -o bin/half_mt object/half_mt.o -L./lib -lraw_r -lm -lstdc++ ${LCMS_LIB} + +bin/dcraw_emu: lib/libraw.a samples/dcraw_emu.cpp + g++ -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o bin/dcraw_emu samples/dcraw_emu.cpp -L./lib -lraw -lm ${LCMS_LIB} + +#objects + +object/dcraw_common.o: internal/dcraw_common.cpp + g++ -c -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o object/dcraw_common.o internal/dcraw_common.cpp + +object/dcraw_fileio.o: internal/dcraw_fileio.cpp + g++ -c -DLIBRAW_NOTHREADS ${CFLAGS} ${LCMS_DEF} -o object/dcraw_fileio.o internal/dcraw_fileio.cpp + +object/libraw_cxx.o: src/libraw_cxx.cpp + g++ -c -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o object/libraw_cxx.o src/libraw_cxx.cpp + +object/libraw_c_api.o: src/libraw_c_api.cpp + g++ -c -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o object/libraw_c_api.o src/libraw_c_api.cpp + +object/dcraw_half.o: samples/dcraw_half.c + gcc -c -DLIBRAW_NOTHREADS ${LCMS_DEF} ${CFLAGS} -o object/dcraw_half.o samples/dcraw_half.c + +object/half_mt.o: samples/half_mt.c + gcc -c -pthread ${LCMS_DEF} ${CFLAGS} -o object/half_mt.o samples/half_mt.c + + +lib/libraw.a: ${DCRAW_LIB_OBJECTS} + rm -f lib/libraw.a + ar crv lib/libraw.a ${DCRAW_LIB_OBJECTS} + ranlib lib/libraw.a + +lib/libraw_r.a: ${DCRAW_LIB_MT_OBJECTS} + rm -f lib/libraw_r.a + ar crv lib/libraw_r.a ${DCRAW_LIB_MT_OBJECTS} + ranlib lib/libraw_r.a + +object/dcraw_common_mt.o: internal/dcraw_common.cpp + g++ -c -pthread ${LCMS_DEF} ${CFLAGS} -o object/dcraw_common_mt.o internal/dcraw_common.cpp + +object/dcraw_fileio_mt.o: internal/dcraw_fileio.cpp + g++ -c -pthread ${LCMS_DEF} ${CFLAGS} -o object/dcraw_fileio_mt.o internal/dcraw_fileio.cpp + +object/libraw_cxx_mt.o: src/libraw_cxx.cpp + g++ -c ${LCMS_DEF} -pthread ${CFLAGS} -o object/libraw_cxx_mt.o src/libraw_cxx.cpp + +object/libraw_c_api_mt.o: src/libraw_c_api.cpp + g++ -c ${LCMS_DEF} -pthread ${CFLAGS} -o object/libraw_c_api_mt.o src/libraw_c_api.cpp + +clean: + rm -fr bin/*.dSYM + rm -f *.o *~ src/*~ samples/*~ internal/*~ libraw/*~ lib/lib*.a bin/[4a-z]* object/*o dcraw/*~ doc/*~ bin/*~ + diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..f0156fc --- /dev/null +++ b/configure.ac @@ -0,0 +1,63 @@ +# Initialization +AC_INIT([LibRaw], [0.10.0-beta3], [info@libraw.org], [], [http://www.libraw.org]) +AM_INIT_AUTOMAKE([foreign no-define]) +AM_SILENT_RULES([yes]) + +# Tools to use +AC_PROG_CXX +AC_PROG_CC +AC_PROG_RANLIB + +# Config files to generate +AC_CONFIG_FILES([ + Makefile + libraw.pc + libraw_r.pc +]) + +# check if we want OpenMP support +AC_ARG_ENABLE([openmp], + [ --enable-openmp Enable OpenMP support], + [case "${enableval}" in + yes) openmp=true ;; + no) openmp=false ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-openmp]) ;; + esac],[openmp=false]) +if test x$openmp = xtrue ; then + AX_OPENMP([ + CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS" + CFLAGS="$CFLAGS $OPENMP_CFLAGS" + AC_SUBST([PC_OPENMP],[" $OPENMP_CFLAGS"]) + ],[ + AC_MSG_ERROR([OpenMP support cannot be enabled because your system doesn't support it.]) + ]) +fi + +# check if we want LCMS support +AC_ARG_ENABLE([lcms], + [ --enable-lcms Enable LCMS support], + [case "${enableval}" in + yes) lcms=true ;; + no) lcms=false ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-lcms]) ;; + esac],[lcms=false]) +if test x$lcms = xtrue; then + PKG_CHECK_MODULES([LCMS],[lcms],[ + CPPFLAGS="$CPPFLAGS -DUSE_LCMS" + ],[ + AC_MSG_ERROR([LCMS support cannot be enabled because: '$LCMS_PKG_ERRORS']) + ]) +fi + +# check if we want build examples +AC_ARG_ENABLE([examples], + [ --enable-examples Enable building of examples], + [case "${enableval}" in + yes) examples=true ;; + no) examples=false ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-examples]) ;; + esac],[examples=false]) +AM_CONDITIONAL([EXAMPLES], [test x$examples = xtrue]) + +AC_OUTPUT + diff --git a/libraw.pc.in b/libraw.pc.in new file mode 100644 index 0000000..c59984f --- /dev/null +++ b/libraw.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libraw +Description: Raw image decoder library (non-thread-safe) +Requires: lcms +Version: 0.9.1 +Libs: -L${libdir} -lraw -lstdc++ @LCMS_LIBS@ +Cflags: -I${includedir}/libraw@PC_OPENMP@ diff --git a/libraw_r.pc.in b/libraw_r.pc.in new file mode 100644 index 0000000..d9fe7fa --- /dev/null +++ b/libraw_r.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libraw +Description: Raw image decoder library (thread-safe) +Requires: lcms +Version: 0.9.1 +Libs: -L${libdir} -lraw_r -lstdc++ @LCMS_LIBS@ +Cflags: -I${includedir}/libraw@PC_OPENMP@ diff --git a/m4/ax_openmp.m4 b/m4/ax_openmp.m4 new file mode 100644 index 0000000..7ea794b --- /dev/null +++ b/m4/ax_openmp.m4 @@ -0,0 +1,99 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_openmp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_OPENMP([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro tries to find out how to compile programs that use OpenMP a +# standard API and set of compiler directives for parallel programming +# (see http://www-unix.mcs/) +# +# On success, it sets the OPENMP_CFLAGS/OPENMP_CXXFLAGS/OPENMP_F77FLAGS +# output variable to the flag (e.g. -omp) used both to compile *and* link +# OpenMP programs in the current language. +# +# NOTE: You are assumed to not only compile your program with these flags, +# but also link it with them as well. +# +# If you want to compile everything with OpenMP, you should set: +# +# CFLAGS="$CFLAGS $OPENMP_CFLAGS" +# #OR# CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS" +# #OR# FFLAGS="$FFLAGS $OPENMP_FFLAGS" +# +# (depending on the selected language). +# +# The user can override the default choice by setting the corresponding +# environment variable (e.g. OPENMP_CFLAGS). +# +# ACTION-IF-FOUND is a list of shell commands to run if an OpenMP flag is +# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is +# not found. If ACTION-IF-FOUND is not specified, the default action will +# define HAVE_OPENMP. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_OPENMP], [ +AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX + +AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]_openmp, [save[]_AC_LANG_PREFIX[]FLAGS=$[]_AC_LANG_PREFIX[]FLAGS +ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown +# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI), +# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none +ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none" +if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then + ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags" +fi +for ax_openmp_flag in $ax_openmp_flags; do + case $ax_openmp_flag in + none) []_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[] ;; + *) []_AC_LANG_PREFIX[]FLAGS="$save[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flag" ;; + esac + AC_TRY_LINK_FUNC(omp_set_num_threads, + [ax_cv_[]_AC_LANG_ABBREV[]_openmp=$ax_openmp_flag; break]) +done +[]_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[]FLAGS +]) +if test "x$ax_cv_[]_AC_LANG_ABBREV[]_openmp" = "xunknown"; then + m4_default([$2],:) +else + if test "x$ax_cv_[]_AC_LANG_ABBREV[]_openmp" != "xnone"; then + OPENMP_[]_AC_LANG_PREFIX[]FLAGS=$ax_cv_[]_AC_LANG_ABBREV[]_openmp + fi + m4_default([$1], [AC_DEFINE(HAVE_OPENMP,1,[Define if OpenMP is enabled])]) +fi +])dnl AX_OPENMP