Apply gmic-3.2.4-makefile_automagic.patch from gentoo

This commit is contained in:
Nedko Arnaudov 2023-11-05 14:57:16 +02:00
parent 5ac2cc77e9
commit 7ec06f4611
1 changed files with 32 additions and 2 deletions

View File

@ -230,6 +230,7 @@ endif
# Enable parallelization in CImg, using OpenMP.
# (http://www.openmp.org/)
ifeq ($(GMIC_USE_OPENMP),yes)
ifdef IS_CLANG
OPENMP_CFLAGS = -I/usr/lib/gcc/x86_64-linux-gnu/9/include -Dcimg_use_openmp -fopenmp=libomp
OPENMP_LIBS =
@ -237,6 +238,7 @@ else
OPENMP_CFLAGS = -fopenmp -Dcimg_use_openmp
OPENMP_LIBS = -lgomp
endif
endif
# Enable software debugging.
# (Use address sanitizer and thus slows down the code)
@ -258,9 +260,13 @@ ABORT_CFLAGS = -Dcimg_use_abort
# Enable image display, using X11 (Unix).
# (Keep /usr/ dirname here since X11 is located in /usr/ on Mac too)
ifneq ($(OS),Darwin)
ifeq ($(GMIC_USE_X11),yes)
X11_CFLAGS = -Dcimg_display=1 $(shell pkg-config --cflags x11 || echo -I/usr/X11R6/include) #-Dcimg_use_xrandr
X11_LIBS = $(shell pkg-config --libs x11 || echo -L/usr/X11R6/lib -lX11) -lpthread # $(shell pkg-config --libs xrandr || echo -lXrandr)
else
X11_CFLAGS = -Dcimg_display=0
endif
else
ifeq (,$(wildcard /usr/X11))
X11_CFLAGS = -Dcimg_display=0 #-Dcimg_use_xrandr
X11_LIBS = -lpthread # $(shell pkg-config --libs xrandr || echo -lXrandr)
@ -272,8 +278,10 @@ endif
# Enable faster X11 display, using XShm extension.
# (ftp://www.x.org/pub/X11R7.7/doc/man/man3/XShm.3.xhtml)
ifeq ($(GMIC_USE_XSHM),yes)
XSHM_CFLAGS = -Dcimg_use_xshm $(shell pkg-config --cflags xcb-shm)
XSHM_LIBS = $(shell pkg-config --libs xcb-shm || echo -L$(PREFIX)/X11R6/lib) -lXext
endif
# Enable image display, using GDI32 (Windows).
GDI32_CFLAGS = -Dcimg_display=2
@ -282,8 +290,10 @@ GDI32_LIBS = -lgdi32
# Enable native support of PNG image files, using the PNG library.
# (http://www.libpng.org/pub/png/libpng.html)
ifneq ($(OS),Darwin)
ifeq ($(GMIC_USE_PNG),yes)
PNG_CFLAGS = -Dcimg_use_png $(shell pkg-config --cflags libpng)
PNG_LIBS = $(shell pkg-config --libs libpng || echo -lpng -lz)
endif
else
ifeq (,$(wildcard /tmp/skl))
PNG_CFLAGS = -Dcimg_use_png $(shell pkg-config --cflags libpng)
@ -296,54 +306,74 @@ endif
# Enable native support of JPEG image files, using the JPEG library.
# (http://libjpeg.sourceforge.net/)
ifeq ($(GMIC_USE_JPEG),yes)
JPEG_CFLAGS = -Dcimg_use_jpeg $(shell pkg-config --cflags libjpeg)
JPEG_LIBS = $(shell pkg-config --libs libjpeg || echo -ljpeg)
endif
# Enable native support of TIFF image files, using the TIFF library.
# (http://www.libtiff.org/)
ifeq ($(GMIC_USE_TIFF),yes)
TIFF_CFLAGS = -Dcimg_use_tiff $(shell pkg-config --cflags libtiff-4)
TIFF_LIBS = $(shell pkg-config --libs libtiff-4 || echo -ltiff)
endif
# Enable native support for loading HEIC/AVIF image files, using the libheif library.
# ( https://github.com/strukturag/libheif )
ifeq ($(GMIC_USE_HEIF),yes)
HEIF_CFLAGS = -Dcimg_use_heif
HEIF_LIBS = -lheif
endif
# Enable native support of MINC2 image files, using the MINC2 library.
# ( http://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_Users_Guide )
ifeq ($(GMIC_USE_MINC2),yes)
MINC2_CFLAGS = -Dcimg_use_minc2 -I${HOME}/local/include
MINC2_LIBS = -lminc_io -lvolume_io2 -lminc2 -lnetcdf -lhdf5 -lz -L${HOME}/local/lib
endif
# Enable native support for downloading files from the network.
# ( http://curl.haxx.se/libcurl/ )
ifeq ($(GMIC_USE_CURL),yes)
CURL_CFLAGS = -Dcimg_use_curl $(shell pkg-config --cflags libcurl)
CURL_LIBS = $(shell pkg-config --libs libcurl || echo -lcurl)
endif
# Enable native support of webcams and video streaming, using the OpenCV library.
# (https://opencv.org/)
ifeq ($(GMIC_USE_OPENCV),yes)
OPENCV_CFLAGS = -Dcimg_use_opencv $(shell pkg-config opencv --cflags) -I/usr/include/opencv -I/usr/include/opencv4
OPENCV_LIBS = $(shell pkg-config opencv --libs || echo -lopencv_core -lopencv_highgui -lopencv_videoio)
endif
# Enable support of most classical image file formats, using the GraphicsMagick++ library.
# (http://www.graphicsmagick.org/Magick++/)
ifeq ($(GMIC_USE_GRAPHICSMAGICK),yes)
MAGICK_CFLAGS = -Dcimg_use_magick $(shell pkg-config --cflags GraphicsMagick++ || echo -I$(PREFIX)/$(INCLUDE)/GraphicsMagick)
MAGICK_LIBS = $(shell pkg-config --libs GraphicsMagick++ || echo -lGraphicsMagick++)
endif
# Enable native support of EXR image files, using the OpenEXR library.
# (http://www.openexr.com/)
OPENEXR_CFLAGS = -Dcimg_use_openexr $(shell pkg-config --cflags OpenEXR || echo -I$(PREFIX)/$(INCLUDE)/OpenEXR)
OPENEXR_LIBS = $(shell pkg-config --libs OpenEXR || echo -lIlmImf -lHalf)
ifeq ($(GMIC_USE_EXR),yes)
OPENEXR_CFLAGS = -Dcimg_use_openexr $(shell pkg-config --cflags OpenEXR || echo -I$(USR)/$(INCLUDE)/OpenEXR -I$(USR)/$(INCLUDE)/Imath)
OPENEXR_LIBS = $(shell pkg-config --libs OpenEXR || echo -lOpenEXR -lImath)
endif
# Enable Fast Fourier Transforms, using the FFTW3 library.
# (http://www.fftw.org/)
ifeq ($(GMIC_USE_FFTW),yes)
FFTW_CFLAGS = -Dcimg_use_fftw3 $(shell pkg-config --cflags fftw3)
FFTW_LIBS = $(shell pkg-config --libs fftw3 || echo -lfftw3)
FFTW_LIBS += -lfftw3_threads
endif
# Enable native support of the BOARD library.
# (https://github.com/c-koi/libboard)
ifeq ($(GMIC_USE_BOARD),yes)
BOARD_CFLAGS = -Dcimg_use_board
BOARD_LIBS = -lboard
endif
GMIC_STD_CFLAGS = $(MANDATORY_CFLAGS) $(ABORT_CFLAGS) $(PARALLEL_CFLAGS) $(FFTW_CFLAGS) $(CURL_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(TIFF_CFLAGS)
GMIC_STD_LIBS = $(MANDATORY_LIBS) $(PARALLEL_LIBS) $(FFTW_LIBS) $(CURL_LIBS) $(PNG_LIBS) $(JPEG_LIBS) $(TIFF_LIBS)