blob: cfd22a1e656b0967017567713db80b682bca65b3 (
plain) (
tree)
|
|
#!/bin/sh
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
have_debug='No, enable with --debug'
have_dummy='No, enable with --enable-dummy'
have_randr='No, enable with --enable-randr'
have_vidmode='No, enable with --enable-vidmode'
have_wayland='No, enable with --enable-wayland'
have_drm='No, enable with --enable-drm'
have_w32gdi='No, enable with --enable-w32gdi[=fake]'
have_quartz='No, enable with --enable-quartz[=fake]'
enable_debug=0
enable_dummy=0
enable_randr=0
enable_vidmode=0
enable_wayland=0
enable_drm=0
enable_w32gdi=0
enable_quartz=0
fake_w32gdi=0
fake_quartz=0
os=common
for arg in "$@"; do
case "${arg}" in
(--linux=developer|--developer) enable_debug=1
enable_dummy=1
enable_randr=1
enable_vidmode=1
enable_wayland=1
enable_drm=1
fake_w32gdi=1
fake_quartz=1
os=gnu
;;
(--linux) enable_randr=1
enable_vidmode=1
enable_wayland=1
enable_drm=1
os=gnu
;;
(--*bsd=developer) enable_debug=1
enable_dummy=1
enable_vidmode=1
enable_randr=1
fake_w32gdi=1
fake_quartz=1
;;
(--*bsd) enable_vidmode=1
enable_randr=1
;;
(--windows=developer) enable_debug=1
enable_dummy=1
enable_w32gdi=1
os=w32
;;
(--windows) enable_w32gdi=1
os=w32
;;
(--mac-os-x=developer) enable_debug=1
enable_dummy=1
enable_quartz=1
os=osx
;;
(--mac-os-x) enable_quartz=1
os=osx
;;
(--debug) enable_debug=1 ;;
(--enable-dummy) enable_dummy=1 ;;
(--enable-randr) enable_randr=1 ;;
(--enable-vidmode) enable_vidmode=1 ;;
(--enable-wayland) enable_wayland=1 ;;
(--enable-drm) enable_drm=1 ;;
(--enable-w32gdi) enable_w32gdi=1 ;;
(--enable-quartz) enable_quartz=1 ;;
(--enable-w32gdi=fake) fake_w32gdi=1 ;;
(--enable-quartz=fake) fake_quartz=1 ;;
(*)
echo "$0: unrecognised option: ${arg}" >&2
exit 1
;;
esac
done
exec 3> "$(dirname "$0")/.config.mk"
exec 4> "$(dirname "$0")/src/lib/libgamma-config.h"
echo 'DEFINITIONS =' >&3
echo '/**' >&4
cat "$(dirname "$0")/COPYING" | sed -e 's:^: \* :' >&4
echo ' */' >&4
echo '#ifndef LIBGAMMA_CONFIG_H' >&4
echo '#define LIBGAMMA_CONFIG_H' >&4
echo >&4
echo >&4
if [ ${fake_w32gdi} = 1 ]; then
enable_w32gdi=1
fi
if [ ${fake_quartz} = 1 ]; then
enable_quartz=1
fi
if [ ${enable_debug} = 1 ]; then
echo "DEBUG = y" >&3
echo 'DEBUG_FLAGS += -DDEBUG' >&3
have_debug='Yes'
fi
if [ ${enable_dummy} = 1 ]; then
echo 'LIBOBJ += gamma-dummy' >&3
echo 'DEFINITIONS += -DHAVE_LIBGAMMA_METHOD_DUMMY' >&3
echo '#define HAVE_LIBGAMMA_METHOD_DUMMY' >&4
have_dummy='Yes'
fi
if [ ${enable_randr} = 1 ]; then
echo 'LIBOBJ += gamma-x-randr' >&3
echo 'DEFINITIONS += -DHAVE_LIBGAMMA_METHOD_X_RANDR' >&3
echo 'LIBS_LD += $$(pkg-config --libs xcb xcb-randr)' >&3
echo 'LIBS_C += $$(pkg-config --cflags xcb xcb-randr)' >&3
echo '#define HAVE_LIBGAMMA_METHOD_X_RANDR' >&4
have_randr='Yes'
fi
if [ ${enable_vidmode} = 1 ]; then
echo 'LIBOBJ += gamma-x-vidmode' >&3
echo 'DEFINITIONS += -DHAVE_LIBGAMMA_METHOD_X_VIDMODE' >&3
echo 'LIBS_LD += $$(pkg-config --libs x11 xxf86vm)' >&3
echo 'LIBS_C += $$(pkg-config --cflags x11 xxf86vm)' >&3
echo '#define HAVE_LIBGAMMA_METHOD_X_VIDMODE' >&4
have_vidmode='Yes'
fi
if [ ${enable_wayland} = 1 ]; then
echo 'LIBOBJ += gamma-wayland wayland-gamma-control-protocol' >&3
echo 'DEFINITIONS += -DHAVE_LIBGAMMA_METHOD_WAYLAND' >&3
echo 'LIBS_LD += $$(pkg-config --libs wayland-client)' >&3
echo 'LIBS_C += $$(pkg-config --cflags wayland-client)' >&3
echo 'WAYLAND_SCANNER = $(shell pkg-config --variable=wayland_scanner wayland-scanner)' >&3
echo '#define HAVE_LIBGAMMA_METHOD_WAYLAND' >&4
have_wayland='Yes'
fi
if [ ${enable_drm} = 1 ]; then
echo 'LIBOBJ += gamma-linux-drm' >&3
echo 'DEFINITIONS += -DHAVE_LIBGAMMA_METHOD_LINUX_DRM' >&3
echo 'LIBS_LD += $$(pkg-config --libs libdrm)' >&3
echo 'LIBS_C += $$(pkg-config --cflags libdrm)' >&3
echo '#define HAVE_LIBGAMMA_METHOD_LINUX_DRM' >&4
have_drm='Yes'
fi
if [ ${enable_w32gdi} = 1 ]; then
echo 'LIBOBJ += gamma-w32-gdi' >&3
echo 'DEFINITIONS += -DHAVE_LIBGAMMA_METHOD_W32_GDI' >&3
echo '#define HAVE_LIBGAMMA_METHOD_W32_GDI' >&4
have_w32gdi='Yes'
fi
if [ ${enable_quartz} = 1 ]; then
echo 'LIBOBJ += gamma-quartz-cg' >&3
echo 'DEFINITIONS += -DHAVE_LIBGAMMA_METHOD_QUARTZ_CORE_GRAPHICS' >&3
if [ ${fake_w32gdi} = 0 ]; then
F_ApplicationServices="/System/Library/Frameworks/ApplicationServices.framework"
I_ApplicationServices="${F_ApplicationServices}/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Headers"
echo "LIBS_LD += -I${I_ApplicationServices} -F${F_ApplicationServices} -framework ApplicationServices" >&3
fi
echo '#define HAVE_LIBGAMMA_METHOD_QUARTZ_CORE_GRAPHICS' >&4
have_quartz='Yes'
fi
if [ ${fake_w32gdi} = 1 ]; then
echo 'LIBOBJ += fake-w32-gdi' >&3
echo 'DEFINITIONS += -DFAKE_LIBGAMMA_METHOD_W32_GDI' >&3
echo '#define FAKE_LIBGAMMA_METHOD_W32_GDI' >&4
if [ ${enable_randr} = 1 ]; then
have_w32gdi='Yes, fake via the RandR protocol for X'
else
have_w32gdi='Yes, fake via dummy method, `/dev/null`-style'
fi
fi
if [ ${fake_quartz} = 1 ]; then
echo 'LIBOBJ += fake-quartz-cg' >&3
echo 'DEFINITIONS += -DFAKE_LIBGAMMA_METHOD_QUARTZ_CORE_GRAPHICS' >&3
echo '#define FAKE_LIBGAMMA_METHOD_QUARTZ_CORE_GRAPHICS' >&4
if [ ${enable_randr} = 1 ]; then
have_quartz='Yes, fake via the RandR protocol for X'
else
have_quartz='Yes, fake via dummy method, `/dev/null`-style'
fi
fi
if [ ${os} = w32 ]; then
echo 'SO = dll' >&3
echo 'PIC = ' >&3
echo 'SHARED = -mdll' >&3
elif [ ${os} = osx ]; then
echo 'SO = dylib' >&3
echo 'SHARED = -dynamiclib' >&3
echo 'LDSO = ' >&3
elif [ ${os} = gnu ]; then
echo 'HAVE_INT128 = y' >&3
fi
echo >&4
echo >&4
echo '#endif' >&4
echo >&4
exec 4<&-
exec 3<&-
echo 'libgamma has now been configured.'
echo
echo " Debug mode: ${have_debug}"
echo " Dummy method: ${have_dummy}"
echo " X.org via RandR: ${have_randr}"
echo " X.org via VidMode: ${have_vidmode}"
echo " Wayland/Orbital: ${have_wayland}"
echo " Linux DRM: ${have_drm}"
echo " Windows GDI: ${have_w32gdi}"
echo " Quartz via CoreGraphics: ${have_quartz}"
echo
echo 'Compile with `make`.'
|