Skip to content

Commit 4ab52a4

Browse files
committed
configure.ac improvements
- test items only if not disabled - JPEG XS, A2X, GL, Pipewire - ensure pipewire present if explicitly required - improved gl handling - except the above, use less variables and improve control flow
1 parent 4aa561b commit 4ab52a4

1 file changed

Lines changed: 54 additions & 47 deletions

File tree

configure.ac

Lines changed: 54 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ AC_SUBST(DYLIBBUNDLER)
343343
# ---------------------------------------------------------------------
344344
# AsciiDoc
345345
# ---------------------------------------------------------------------
346-
AC_PATH_PROGS(A2X, [asciidoctor a2x], [:])
346+
A2X=:
347347
AC_SUBST(A2X)
348348
AC_SUBST(MANPAGES)
349349
man=no
@@ -354,6 +354,7 @@ AC_ARG_ENABLE(man, AS_HELP_STRING([--enable-man], [build (default is auto)]
354354
[req_man=$build_default])
355355

356356
if test "$req_man" != no; then
357+
AC_PATH_PROGS(A2X, [asciidoctor a2x], [:])
357358
if test "$A2X" != :; then
358359
man=yes
359360
MANPAGES=uv.1
@@ -723,44 +724,48 @@ AC_ARG_ENABLE(gl,
723724
)
724725
OPENGL=no
725726
OPENGL_COMMON=no
727+
GL_COMMON_OBJ="src/gl_context.o"
726728

727729
SAVED_LIBS=$LIBS
728730
SAVED_CFLAGS=$CFLAGS
729731
CFLAGS="$CFLAGS -DGLEW_NO_GLU"
730-
AC_CHECK_HEADER(GL/gl.h)
731-
AC_CHECK_HEADER(GL/glew.h)
732-
AC_CHECK_HEADER(GL/glx.h)
733-
AC_CHECK_LIB(GL, glBindTexture)
734-
AC_CHECK_LIB(GL, glXCreateNewContext)
735-
AC_CHECK_LIB(GLEW, glewInit)
736-
AC_CHECK_LIB(glew32, glewInit)
737-
AC_CHECK_LIB(X11, XCreateWindow)
738-
LIBS=$SAVED_LIBS
739-
CFLAGS=$SAVED_CFLAGS
740-
HAVE_GL=no
741-
HAVE_GLEW=no
742732

743-
GL_COMMON_OBJ="src/gl_context.o"
744-
745-
if test "${ac_cv_header_GL_gl_h?}" = yes && \
746-
test "${ac_cv_lib_GL_glBindTexture?}" = yes
747-
then
748-
HAVE_GL=yes
733+
if test "${system?}" = MacOSX && test "${gl_req?}" != no; then
734+
OPENGL=yes
749735
fi
750736

751-
if test "${ac_cv_header_GL_glew_h?}" = yes && \
752-
{ test "${ac_cv_lib_GLEW_glewInit?}" = yes || test "${ac_cv_lib_glew32_glewInit?}" = yes; }
753-
then
754-
HAVE_GLEW=yes
737+
if test "${system?}" != MacOSX && test "${gl_req?}" != no; then
738+
AC_CHECK_HEADER(GL/glew.h)
739+
AC_CHECK_LIB(GLEW, glewInit)
740+
AC_CHECK_LIB(glew32, glewInit)
741+
742+
if test "${ac_cv_header_GL_glew_h?}" = yes &&
743+
{ test "${ac_cv_lib_GLEW_glewInit?}" = yes ||
744+
test "${ac_cv_lib_glew32_glewInit?}" = yes; }
745+
then
746+
if test "${system?}" = Windows; then
747+
OPENGL=yes
748+
else
749+
AC_CHECK_HEADER(GL/gl.h)
750+
AC_CHECK_LIB(GL, glBindTexture)
751+
if test "${ac_cv_header_GL_gl_h?}" = yes &&
752+
test "${ac_cv_lib_GL_glBindTexture?}" = yes
753+
then
754+
OPENGL=yes
755+
fi
756+
fi
757+
fi
755758
fi
756759

757760
# Linux
758761
if { test "$system" = Linux || test "$system" = other; } && \
759-
test "$HAVE_GL" = yes && \
760-
test "$HAVE_GLEW" = yes
762+
test "${OPENGL?}" = yes
761763
then
762764
OPENGL_LIB="-lGLEW -lGL"
763765
OPENGL=yes
766+
AC_CHECK_HEADER(GL/glx.h)
767+
AC_CHECK_LIB(X11, XCreateWindow)
768+
AC_CHECK_LIB(GL, glXCreateNewContext)
764769
if test "$ac_cv_header_GL_glx_h" = yes && \
765770
test "$ac_cv_lib_GL_glXCreateNewContext" = yes && \
766771
test "$ac_cv_lib_X11_XCreateWindow" = yes
@@ -772,29 +777,24 @@ then
772777
fi
773778

774779
# Mac
775-
if test "$system" = MacOSX
780+
if test "$system" = MacOSX && test "${OPENGL?}" = yes
776781
then
777-
OPENGL=yes
778782
OPENGL_COMMON=yes
779783
OPENGL_LIB="-framework Cocoa -framework OpenGL"
780784
COMMON_FLAGS="$COMMON_FLAGS -DGL_SILENCE_DEPRECATION"
781785
GL_COMMON_OBJ="$GL_COMMON_OBJ src/mac_gl_common.o"
782786
fi
783787

784788
# Win32
785-
if test "${system?}" = Windows && test "${HAVE_GLEW?}" = yes
789+
if test "${system?}" = Windows && test "${OPENGL?}" = yes
786790
then
787-
OPENGL=yes
788791
OPENGL_COMMON=yes
789792
GL_COMMON_OBJ="$GL_COMMON_OBJ src/win32_gl_common.o"
790793
OPENGL_LIB="-lopengl32 -lglew32 -lgdi32"
791794
fi
792795

793-
if test $gl_req = no; then
794-
OPENGL=no
795-
GL_COMMON_OBJ=
796-
OPENGL_LIB=
797-
fi
796+
LIBS=$SAVED_LIBS
797+
CFLAGS=$SAVED_CFLAGS
798798

799799
ENSURE_FEATURE_PRESENT([$gl_req], [$OPENGL], [OpenGL stuff requested but dependencies were not found.])
800800

@@ -1262,7 +1262,7 @@ AC_ARG_ENABLE(ximea-runtime-linking,
12621262
)
12631263
ximea=no
12641264

1265-
if test $system = MacOSX; then
1265+
if test "${ximea_req?}" != no && test "${system?}" = MacOSX; then
12661266
MY_CHECK_FRAMEWORK([m3api])
12671267
if test $my_cv_framework_m3api = yes; then
12681268
if test $ximea_link_runtime = no; then
@@ -1274,7 +1274,7 @@ if test $system = MacOSX; then
12741274
GENICAM_GENTL64_PATH="/Library/Frameworks/m3api.framework"
12751275
fi
12761276
XI_LIB_NAME="m3api"
1277-
else
1277+
elif test "${ximea_req?}" != no; then
12781278
if test $system = Linux; then
12791279
XIAPI_PATH=${GENICAM_GENTL64_PATH:-/opt/XIMEA/lib}
12801280
XI_LIB_EXT=".so"
@@ -2196,11 +2196,13 @@ AC_ARG_ENABLE(pipewire,
21962196
[pipewire_common_req=$build_default]
21972197
)
21982198

2199-
PKG_CHECK_MODULES([PIPEWIRE], [libpipewire-0.3 >= 0.3.30], [found_pw_common_deps=yes], [found_pw_common_deps=no])
2199+
if test "${pipewire_common_req?}" != no; then
2200+
PKG_CHECK_MODULES([PIPEWIRE], [libpipewire-0.3 >= 0.3.30],
2201+
[pipewire_common=yes], [pipewire_common=no])
2202+
fi
22002203

2201-
if test "${pipewire_common_req?}" != no && test "${found_pw_common_deps?}" = yes
2204+
if test "${pipewire_common?}" != no
22022205
then
2203-
pipewire_common=yes
22042206
PIPEWIRE_COMMON_LIBS="$($PKG_CONFIG --libs libpipewire-0.3)"
22052207
# include pipewire headers as system headers to supress warnings in the headers (instead of -Ipath use -isystem path)
22062208
PIPEWIRE_COMMON_INC="$($PKG_CONFIG --cflags-only-I libpipewire-0.3 | sed 's/\(^\| \)-I\//\1-isystem \//g')"
@@ -2210,6 +2212,9 @@ then
22102212
CXXFLAGS="$CXXFLAGS $PIPEWIRE_COMMON_INC"
22112213
fi
22122214

2215+
ENSURE_FEATURE_PRESENT([${pipewire_common_req?}], [${pipewire_common?}],
2216+
[Pipewire library not found])
2217+
22132218
# -----------------------------------------------------------------------------
22142219
# Pipewire audio
22152220
# -----------------------------------------------------------------------------
@@ -2473,20 +2478,22 @@ AC_ARG_ENABLE(jpegxs,
24732478
[jpegxs_req=$build_default]
24742479
)
24752480

2476-
PKG_CHECK_MODULES([JPEGXS], [SvtJpegxs >= 0.9],
2477-
[FOUND_JPEGXS_DEP=yes],
2478-
[FOUND_JPEGXS_DEP=no]
2479-
)
2481+
if test "${jpegxs_req?}" != no; then
2482+
PKG_CHECK_MODULES([JPEGXS], [SvtJpegxs >= 0.9],
2483+
[FOUND_JPEGXS_DEP=yes],
2484+
[FOUND_JPEGXS_DEP=no]
2485+
)
2486+
if test "$FOUND_JPEGXS_DEP" = yes; then
2487+
jpegxs=yes
2488+
fi
2489+
fi
24802490

2481-
if test "$jpegxs_req" != no -a "$FOUND_JPEGXS_DEP" = yes; then
2491+
if test "${jpegxs?}" = yes; then
24822492
JPEGXS_VIDEO="src/jpegxs/to_jpegxs_conv.o"
24832493
JPEGXS_COMPRESS_OBJ="$JPEGXS_VIDEO src/video_compress/jpegxs.o"
24842494
JPEGXS_DECOMPRESS_OBJ="$JPEGXS_VIDEO src/video_decompress/jpegxs.o"
24852495
add_module vcompress_jpegxs "$JPEGXS_COMPRESS_OBJ" "$JPEGXS_LIBS"
24862496
add_module vdecompress_jpegxs "$JPEGXS_DECOMPRESS_OBJ" "$JPEGXS_LIBS"
2487-
jpegxs=yes
2488-
else
2489-
jpegxs=no
24902497
fi
24912498

24922499
ENSURE_FEATURE_PRESENT([${jpegxs_req?}], [${jpegxs?}], [SVT-JPEG-XS not found])

0 commit comments

Comments
 (0)