summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Nicholson <dbn.lists@gmail.com>2008-07-18 07:40:41 -0700
committerDan Nicholson <dbn.lists@gmail.com>2008-07-18 08:07:07 -0700
commit776c60d3c33b05f59181a2052a9f03147bc51111 (patch)
treee54f7793b10d40280065a25cd50d00e31a9f0b71
parentb4b7326717d3253656f9702fc04f06f8d210a6aa (diff)
autoconf: Support Motif widgets in GLw with --enable-motif
Add an --enable-motif option, which will enable the Motif widgets in libGLw and link it with libXm. The Motif installation information will be gathered from the motif-config script (this comes with LessTif) or fallback to the standard autoconf checks. To allow the location of the Motif headers to be set from configure, the default setting of -I/usr/include/Motif1.2 has been moved into configs/default and then passed to the Makefile through the MOTIF_CFLAGS variable.
-rw-r--r--configs/autoconf.in4
-rw-r--r--configs/default1
-rw-r--r--configure.ac30
-rw-r--r--src/glw/Makefile2
4 files changed, 34 insertions, 3 deletions
diff --git a/configs/autoconf.in b/configs/autoconf.in
index 8ed1c93d11..a3eaed5c9d 100644
--- a/configs/autoconf.in
+++ b/configs/autoconf.in
@@ -66,6 +66,10 @@ USING_EGL = @USING_EGL@
# Dependencies
X11_INCLUDES = @X11_INCLUDES@
+# GLw motif setup
+GLW_SOURCES = @GLW_SOURCES@
+MOTIF_CFLAGS = @MOTIF_CFLAGS@
+
# Library/program dependencies
GL_LIB_DEPS = $(EXTRA_LIB_PATH) @GL_LIB_DEPS@
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \
diff --git a/configs/default b/configs/default
index 36dc483c9a..31ba2f62a0 100644
--- a/configs/default
+++ b/configs/default
@@ -61,6 +61,7 @@ ASM_SOURCES =
# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
# order to build the Motif widget too)
GLW_SOURCES = GLwDrawA.c
+MOTIF_CFLAGS = -I/usr/include/Motif1.2
# Directories to build
diff --git a/configure.ac b/configure.ac
index acb29e4468..9014f8e158 100644
--- a/configure.ac
+++ b/configure.ac
@@ -878,6 +878,12 @@ if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then
AC_MSG_WARN([Disabling GLw since the driver is OSMesa])
enable_glw=no
fi
+AC_ARG_ENABLE([motif],
+ [AS_HELP_STRING([--enable-motif],
+ [use Motif widgets in GLw @<:@default=disabled@:>@])],
+ [enable_motif="$enableval"],
+ [enable_motif=no])
+
if test "x$enable_glw" = xyes; then
SRC_DIRS="$SRC_DIRS glw"
if test "$x11_pkgconfig" = yes; then
@@ -885,7 +891,25 @@ if test "x$enable_glw" = xyes; then
GLW_LIB_DEPS="$GLW_LIBS"
else
# should check these...
- GLW_LIB_DEPS="$X_LIBS -lX11 -lXt"
+ GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
+ fi
+
+ GLW_SOURCES="GLwDrawA.c"
+ MOTIF_CFLAGS=
+ if test "x$enable_motif" = xyes; then
+ GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
+ AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
+ if test "x$MOTIF_CONFIG" != xno; then
+ MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
+ MOTIF_LIBS=`$MOTIF_CONFIG --libs`
+ else
+ AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
+ [AC_MSG_ERROR([Can't locate Motif headers])])
+ AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
+ [AC_MSG_ERROR([Can't locate Motif Xm library])])
+ fi
+ # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
+ GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
fi
# If static, empty GLW_LIB_DEPS and add libs for programs to link
@@ -900,6 +924,8 @@ if test "x$enable_glw" = xyes; then
fi
AC_SUBST([GLW_LIB_DEPS])
AC_SUBST([GLW_MESA_DEPS])
+AC_SUBST([GLW_SOURCES])
+AC_SUBST([MOTIF_CFLAGS])
dnl
dnl GLUT configuration
@@ -1025,7 +1051,7 @@ echo ""
echo " Shared libs: $enable_shared"
echo " Static libs: $enable_static"
echo " GLU: $enable_glu"
-echo " GLw: $enable_glw"
+echo " GLw: $enable_glw (Motif: $enable_motif)"
echo " glut: $enable_glut"
dnl Programs
diff --git a/src/glw/Makefile b/src/glw/Makefile
index a9a174508f..6a522eccba 100644
--- a/src/glw/Makefile
+++ b/src/glw/Makefile
@@ -7,7 +7,7 @@ MAJOR = 1
MINOR = 0
TINY = 0
-INCDIRS = -I$(TOP)/include -I/usr/include/Motif1.2 $(X11_INCLUDES)
+INCDIRS = -I$(TOP)/include $(MOTIF_CFLAGS) $(X11_INCLUDES)
OBJECTS = $(GLW_SOURCES:.c=.o)