Skip to content

Commit e555dad

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 e555dad

1 file changed

Lines changed: 50 additions & 49 deletions

File tree

configure.ac

Lines changed: 50 additions & 49 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,42 @@ 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
742-
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
749-
fi
750732

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
733+
if test "${gl_req?}" != no; then
734+
if test "${system?}" = MacOSX; then
735+
OPENGL=yes
736+
else
737+
AC_CHECK_HEADER(GL/gl.h)
738+
AC_CHECK_HEADER(GL/glew.h)
739+
AC_CHECK_LIB(GL, glBindTexture)
740+
AC_CHECK_LIB(GL, glXCreateNewContext)
741+
AC_CHECK_LIB(GLEW, glewInit)
742+
AC_CHECK_LIB(glew32, glewInit)
743+
744+
if test "${ac_cv_header_GL_gl_h?}" = yes &&
745+
test "${ac_cv_lib_GL_glBindTexture?}" = yes &&
746+
test "${ac_cv_header_GL_glew_h?}" = yes &&
747+
{ test "${ac_cv_lib_GLEW_glewInit?}" = yes ||
748+
test "${ac_cv_lib_glew32_glewInit?}" = yes; }
749+
then
750+
OPENGL=yes
751+
fi
752+
fi
755753
fi
756754

757755
# Linux
758756
if { test "$system" = Linux || test "$system" = other; } && \
759-
test "$HAVE_GL" = yes && \
760-
test "$HAVE_GLEW" = yes
757+
test "${OPENGL?}" = yes
761758
then
762759
OPENGL_LIB="-lGLEW -lGL"
763760
OPENGL=yes
761+
AC_CHECK_HEADER(GL/glx.h)
762+
AC_CHECK_LIB(X11, XCreateWindow)
764763
if test "$ac_cv_header_GL_glx_h" = yes && \
765764
test "$ac_cv_lib_GL_glXCreateNewContext" = yes && \
766765
test "$ac_cv_lib_X11_XCreateWindow" = yes
@@ -772,29 +771,24 @@ then
772771
fi
773772

774773
# Mac
775-
if test "$system" = MacOSX
774+
if test "$system" = MacOSX && test "${OPENGL?}" = yes
776775
then
777-
OPENGL=yes
778776
OPENGL_COMMON=yes
779777
OPENGL_LIB="-framework Cocoa -framework OpenGL"
780778
COMMON_FLAGS="$COMMON_FLAGS -DGL_SILENCE_DEPRECATION"
781779
GL_COMMON_OBJ="$GL_COMMON_OBJ src/mac_gl_common.o"
782780
fi
783781

784782
# Win32
785-
if test "${system?}" = Windows && test "${HAVE_GLEW?}" = yes
783+
if test "${system?}" = Windows && test "${OPENGL?}" = yes
786784
then
787-
OPENGL=yes
788785
OPENGL_COMMON=yes
789786
GL_COMMON_OBJ="$GL_COMMON_OBJ src/win32_gl_common.o"
790787
OPENGL_LIB="-lopengl32 -lglew32 -lgdi32"
791788
fi
792789

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

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

@@ -1262,7 +1256,7 @@ AC_ARG_ENABLE(ximea-runtime-linking,
12621256
)
12631257
ximea=no
12641258

1265-
if test $system = MacOSX; then
1259+
if test "${ximea_req?}" != no && test "${system?}" = MacOSX; then
12661260
MY_CHECK_FRAMEWORK([m3api])
12671261
if test $my_cv_framework_m3api = yes; then
12681262
if test $ximea_link_runtime = no; then
@@ -1274,7 +1268,7 @@ if test $system = MacOSX; then
12741268
GENICAM_GENTL64_PATH="/Library/Frameworks/m3api.framework"
12751269
fi
12761270
XI_LIB_NAME="m3api"
1277-
else
1271+
elif test "${ximea_req?}" != no; then
12781272
if test $system = Linux; then
12791273
XIAPI_PATH=${GENICAM_GENTL64_PATH:-/opt/XIMEA/lib}
12801274
XI_LIB_EXT=".so"
@@ -2196,11 +2190,13 @@ AC_ARG_ENABLE(pipewire,
21962190
[pipewire_common_req=$build_default]
21972191
)
21982192

2199-
PKG_CHECK_MODULES([PIPEWIRE], [libpipewire-0.3 >= 0.3.30], [found_pw_common_deps=yes], [found_pw_common_deps=no])
2193+
if test "${pipewire_common_req?}" != no; then
2194+
PKG_CHECK_MODULES([PIPEWIRE], [libpipewire-0.3 >= 0.3.30],
2195+
[pipewire_common=yes], [pipewire_common=no])
2196+
fi
22002197

2201-
if test "${pipewire_common_req?}" != no && test "${found_pw_common_deps?}" = yes
2198+
if test "${pipewire_common?}" != no
22022199
then
2203-
pipewire_common=yes
22042200
PIPEWIRE_COMMON_LIBS="$($PKG_CONFIG --libs libpipewire-0.3)"
22052201
# include pipewire headers as system headers to supress warnings in the headers (instead of -Ipath use -isystem path)
22062202
PIPEWIRE_COMMON_INC="$($PKG_CONFIG --cflags-only-I libpipewire-0.3 | sed 's/\(^\| \)-I\//\1-isystem \//g')"
@@ -2210,6 +2206,9 @@ then
22102206
CXXFLAGS="$CXXFLAGS $PIPEWIRE_COMMON_INC"
22112207
fi
22122208

2209+
ENSURE_FEATURE_PRESENT([${pipewire_common_req?}], [${pipewire_common?}],
2210+
[Pipewire library not found])
2211+
22132212
# -----------------------------------------------------------------------------
22142213
# Pipewire audio
22152214
# -----------------------------------------------------------------------------
@@ -2473,20 +2472,22 @@ AC_ARG_ENABLE(jpegxs,
24732472
[jpegxs_req=$build_default]
24742473
)
24752474

2476-
PKG_CHECK_MODULES([JPEGXS], [SvtJpegxs >= 0.9],
2477-
[FOUND_JPEGXS_DEP=yes],
2478-
[FOUND_JPEGXS_DEP=no]
2479-
)
2475+
if test "${jpegxs_req?}" != no; then
2476+
PKG_CHECK_MODULES([JPEGXS], [SvtJpegxs >= 0.9],
2477+
[FOUND_JPEGXS_DEP=yes],
2478+
[FOUND_JPEGXS_DEP=no]
2479+
)
2480+
if test "$FOUND_JPEGXS_DEP" = yes; then
2481+
jpegxs=yes
2482+
fi
2483+
fi
24802484

2481-
if test "$jpegxs_req" != no -a "$FOUND_JPEGXS_DEP" = yes; then
2485+
if test "${jpegxs?}" = yes; then
24822486
JPEGXS_VIDEO="src/jpegxs/to_jpegxs_conv.o"
24832487
JPEGXS_COMPRESS_OBJ="$JPEGXS_VIDEO src/video_compress/jpegxs.o"
24842488
JPEGXS_DECOMPRESS_OBJ="$JPEGXS_VIDEO src/video_decompress/jpegxs.o"
24852489
add_module vcompress_jpegxs "$JPEGXS_COMPRESS_OBJ" "$JPEGXS_LIBS"
24862490
add_module vdecompress_jpegxs "$JPEGXS_DECOMPRESS_OBJ" "$JPEGXS_LIBS"
2487-
jpegxs=yes
2488-
else
2489-
jpegxs=no
24902491
fi
24912492

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

0 commit comments

Comments
 (0)