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.
glaze-find-libgl-32
glaze-find-libgl-64
lib
libglaze.so*
glaze-find-libgl-32
glaze-find-libgl-64
lib
libglaze.so*
LIBGLAZE_SONAME = $(LIBGLAZE_LINKER_NAME).$(MAJOR)
LIBGLAZE_LIBNAME = $(LIBGLAZE_SONAME).$(MINOR).$(RELEASE)
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)
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 += $(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
TARGETS += $(LIB64_DIR)/libGL.so.1
TARGETS += glaze-find-libgl-64
endif
GLAZE_CFLAGS = $(CFLAGS) $(WARN_CFLAGS)
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
$(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)
$(LIB64_DIR)/libGL.so.1: glaze-gl.c glapi.def
mkdir -p $(LIB64_DIR)
.PHONY: install
install: all
.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)
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)
+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)
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
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
install -m0755 glaze-find-libgl-64 $(DESTDIR)$(BINDIR)
endif
-# 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}
prefix=${PREFIX}
exec_prefix=\${prefix}
libdir=${LIBDIR:-\${exec_prefix\}/lib}
Libs: -L\${libdir} -lglaze
Cflags: -I\${includedir}/glaze
EOF
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
+