]> git.cworth.org Git - glaze/commitdiff
Install a libglaze-32.so library along with a glaze-32.pc file.
authorCarl Worth <cworth@cworth.org>
Sat, 21 Sep 2013 16:02:26 +0000 (09:02 -0700)
committerCarl Worth <cworth@cworth.org>
Sat, 21 Sep 2013 22:00:56 +0000 (15:00 -0700)
This is the helper library that Glaze-using libraries can link against.
Previously, it was only compiled in a native version (named libglaze.so).
Now, we compile a 64-bit version named libglaze.so and a 32-bit version
named libglaze-32.so.

.gitignore
Makefile
configure

index 0c349a76a09c99a9f4cfd4b4c1d97aa2bc7c2892..9f7c7555201e69f92e40c4e8baa8fc114fd2d9f6 100644 (file)
@@ -1,8 +1,10 @@
 config.h
 glaze.pc
+glaze-32.pc
 glaze-find-libgl-32
 glaze-find-libgl-64
 lib
 libglaze.so*
+libglaze-32.so*
 Makefile.config
 *~
index f211722a52c7424a5b61f644687d49ec98311097..7322ae3d96f55bee8e55942c23d76864b46744c4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -24,14 +24,18 @@ LIBGLAZE_LINKER_NAME = libglaze.so
 LIBGLAZE_SONAME = $(LIBGLAZE_LINKER_NAME).$(MAJOR)
 LIBGLAZE_LIBNAME = $(LIBGLAZE_SONAME).$(MINOR).$(RELEASE)
 
-TARGETS = $(LIBGLAZE_LIBNAME)
+LIBGLAZE_32_LINKER_NAME = libglaze-32.so
+LIBGLAZE_32_SONAME = $(LIBGLAZE_32_LINKER_NAME).$(MAJOR)
+LIBGLAZE_32_LIBNAME = $(LIBGLAZE_32_SONAME).$(MINOR).$(RELEASE)
 
 ifeq ($(COMPILER_SUPPORTS_32),Yes)
+TARGETS += $(LIBGLAZE_32_LIBNAME)
 TARGETS += $(LIB32_DIR)/libGL.so.1
 TARGETS += glaze-find-libgl-32
 endif
 
 ifeq ($(COMPILER_SUPPORTS_64),Yes)
+TARGETS += $(LIBGLAZE_LIBNAME)
 TARGETS += $(LIB64_DIR)/libGL.so.1
 TARGETS += glaze-find-libgl-64
 endif
@@ -40,8 +44,11 @@ all: $(TARGETS)
 
 GLAZE_CFLAGS = $(CFLAGS) $(WARN_CFLAGS)
 
+$(LIBGLAZE_32_LIBNAME): glaze.c
+       $(CC) $(GLAZE_CFLAGS) -m32 -fPIC -shared -Wl,-Bsymbolic,-soname=$(LIBGLAZE_SONAME) -ldl -ltalloc -o $@ $<
+
 $(LIBGLAZE_LIBNAME): glaze.c
-       $(CC) $(GLAZE_CFLAGS) -fPIC -shared -Wl,-Bsymbolic,-soname=$(LIBGLAZE_SONAME) -ldl -ltalloc -o $@ $<
+       $(CC) $(GLAZE_CFLAGS) -m64 -fPIC -shared -Wl,-Bsymbolic,-soname=$(LIBGLAZE_SONAME) -ldl -ltalloc -o $@ $<
 
 $(LIB64_DIR)/libGL.so.1: glaze-gl.c glapi.def
        mkdir -p $(LIB64_DIR)
@@ -59,26 +66,26 @@ glaze-find-libgl-64: glaze-find-libgl.c
 
 .PHONY: install
 install: all
-ifeq ($(COMPILER_SUPPORTS_64),Yes)
-       mkdir -p $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR)
-       install -m0644 $(LIB64_DIR)/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR)
-endif
+       mkdir -p $(DESTDIR)$(INCLUDEDIR)/glaze
+       install -m0644 glaze.h $(DESTDIR)$(INCLUDEDIR)/glaze
+       mkdir -p $(DESTDIR)$(BINDIR)
+       mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
 ifeq ($(COMPILER_SUPPORTS_32),Yes)
        mkdir -p $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR)
        install -m0644 $(LIB32_DIR)/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR)
+       install -m0644 $(LIBGLAZE_32_LIBNAME) $(DESTDIR)$(LIBDIR)
+       ln -sf $(LIBGLAZE_32_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_32_SONAME)
+       ln -sf $(LIBGLAZE_32_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_32_LINKER_NAME)
+       install glaze-32.pc $(DESTDIR)$(LIBDIR)/pkgconfig
+       install -m0755 glaze-find-libgl-32 $(DESTDIR)$(BINDIR)
 endif
+ifeq ($(COMPILER_SUPPORTS_64),Yes)
+       mkdir -p $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR)
+       install -m0644 $(LIB64_DIR)/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR)
        install -m0644 $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR)
        ln -sf $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_SONAME)
        ln -sf $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_LINKER_NAME)
-       mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
        install glaze.pc $(DESTDIR)$(LIBDIR)/pkgconfig
-       mkdir -p $(DESTDIR)$(INCLUDEDIR)/glaze
-       install -m0644 glaze.h $(DESTDIR)$(INCLUDEDIR)/glaze
-       mkdir -p $(DESTDIR)$(BINDIR)
-ifeq ($(COMPILER_SUPPORTS_32),Yes)
-       install -m0755 glaze-find-libgl-32 $(DESTDIR)$(BINDIR)
-endif
-ifeq ($(COMPILER_SUPPORTS_64),Yes)
        install -m0755 glaze-find-libgl-64 $(DESTDIR)$(BINDIR)
 endif
 
index d53522930009126a17aff731207bbdd1e211389f..d281ecf5a3d22270fce85f4c7ba62227b53865d7 100755 (executable)
--- a/configure
+++ b/configure
@@ -319,8 +319,9 @@ cat > config.h <<EOF
 
 EOF
 
-# construct the glaze.pc file
-cat > glaze.pc <<EOF
+# construct the glaze.pc and glaze-32.pc files
+if [ "$have_m64" = "Yes" ]; then
+    cat > glaze.pc <<EOF
 prefix=${PREFIX}
 exec_prefix=\${prefix}
 libdir=${LIBDIR:-\${exec_prefix\}/lib}
@@ -333,3 +334,21 @@ Version: ${VERSION}
 Libs: -L\${libdir} -lglaze
 Cflags: -I\${includedir}/glaze
 EOF
+fi
+
+if [ "$have_m32" = "Yes" ]; then
+    cat > glaze-32.pc <<EOF
+prefix=${PREFIX}
+exec_prefix=\${prefix}
+libdir=${LIBDIR:-\${exec_prefix\}/lib}
+includedir=${INCLUDEDIR:-\${prefix\}/include}
+
+Name: ${PROJECT}
+Description: ${PROJECT_BLURB}
+Version: ${VERSION}
+
+Libs: -L\${libdir} -lglaze-32
+Cflags: -I\${includedir}/glaze
+EOF
+fi
+