# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1671115488 0 # Node ID 7479ab54e0140ed0ee536bdd0d3d1152434ecedf # Parent ef7a414f9b7119e19ebdb4fbde78ae1b9ea84a42 Linux: Fixes for building dwtestoo on Linux/gcc. GTK cannot be included in an extern "C" section. Make sure ARCH is not set on platforms other than MacOS. diff -r ef7a414f9b71 -r 7479ab54e014 Makefile.in --- a/Makefile.in Thu Dec 15 12:42:34 2022 +0000 +++ b/Makefile.in Thu Dec 15 14:44:48 2022 +0000 @@ -1,42 +1,46 @@ srcdir=@srcdir@ mandir=@mandir@ CC = @CC@ -PLATCCFLAGS = @PLATCCFLAGS@ +CXX = @CXX@ +PLATCCFLAGS = @PLATCCFLAGS@ MLFLAGS = -L. include $(srcdir)/Version -CCFLAGS = @CFLAGS@ $(PLATCCFLAGS) @ARCH@ -D@DW_DEFINE@ -DBUILD_DLL -DDW_RESOURCES -DVER_REV=$(VER_REV) +CCFLAGS = @CFLAGS@ $(PLATCCFLAGS) @ARCH@ -D@DW_DEFINE@ -DBUILD_DLL -DDW_RESOURCES -DVER_REV=$(VER_REV) LFLAGS = @LIBS@ @ARCH@ -ARFLAGS = @ARFLAGS@ +ARFLAGS = @ARFLAGS@ INSTALL = @INSTALL@ DW_SRC = @DW_SRC@ DW_DIR = @DW_DIR@ INCPATH = -I.. -I. -I$(srcdir) TARGET = @TARGET@ SRCS = $(srcdir)/$(DW_DIR)/$(DW_SRC) -BROWSER_OBJECT=@BROWSER_OBJECT@ -COMPAT_OBJECT =@COMPAT_OBJECT@ -INSTALL_COMPAT=@INSTALL_COMPAT@ -INSTALL_TEST =@INSTALL_TEST@ +BROWSER_OBJECT= @BROWSER_OBJECT@ +COMPAT_OBJECT = @COMPAT_OBJECT@ +INSTALL_COMPAT= @INSTALL_COMPAT@ +INSTALL_TEST = @INSTALL_TEST@ OBJECTS = dw.o $(BROWSER_OBJECT) SRCS2 = $(srcdir)dwcompat.c OBJECTS2= $(COMPAT_OBJECT) TARGET2= @TARGET2@ -TARGETS = @TARGETS@ +TARGETS = @TARGETS@ VER_MAJ = $(DW_MAJOR_VERSION) VER_MIN = $(DW_MINOR_VERSION) VER_REV = @SVNVERSION@ SOSUFFIX= @SOSUFFIX@ -SONAME= @SONAME@ -LIBPREFIX = @LIBPREFIX@ -LIBSUFFIX = @LIBSUFFIX@ +SONAME = @SONAME@ +LIBPREFIX = @LIBPREFIX@ +LIBSUFFIX = @LIBSUFFIX@ prefix = $(DESTDIR)@prefix@ SRCDIR=dwindows-$(VER_MAJ).$(VER_MIN) -#.SUFFIXES: .c .h +#.SUFFIXES: .c .cpp .h .hpp #.c.o: # $(CC) -c $(CCFLAGS) $(INCPATH) -o $@ $< +#.cpp.o: +# $(CXX) -c $(CCFLAGS) $(INCPATH) -o $@ $< + # Link flags shared objects SYSCONF_LFLAGS_SHOBJ = @SHAREDFLAG@ @@ -195,7 +199,7 @@ -$(srcdir)/mac/finishup.sh $(srcdir) dwtest dwtestoo.o: $(srcdir)/dwtestoo.cpp $(srcdir)/dw.h $(srcdir)/dw.hpp - $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/dwtestoo.cpp + $(CXX) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/dwtestoo.cpp dwtestoo: dwtestoo.o $(CC) -o dwtestoo dwtestoo.o $(MLFLAGS) -l$(TARGET) $(LFLAGS) diff -r ef7a414f9b71 -r 7479ab54e014 configure --- a/configure Thu Dec 15 12:42:34 2022 +0000 +++ b/configure Thu Dec 15 14:44:48 2022 +0000 @@ -4667,6 +4667,7 @@ SONAME="" PLATCCFLAGS="-g -O2 -fPIC -Wall" ARFLAGS="cqs" +ARCH="" case "$target" in *cygwin*) diff -r ef7a414f9b71 -r 7479ab54e014 configure.in --- a/configure.in Thu Dec 15 12:42:34 2022 +0000 +++ b/configure.in Thu Dec 15 14:44:48 2022 +0000 @@ -125,6 +125,7 @@ SONAME="" PLATCCFLAGS="-g -O2 -fPIC -Wall" ARFLAGS="cqs" +ARCH="" case "$target" in *cygwin*) diff -r ef7a414f9b71 -r 7479ab54e014 dw.h --- a/dw.h Thu Dec 15 12:42:34 2022 +0000 +++ b/dw.h Thu Dec 15 14:44:48 2022 +0000 @@ -1231,8 +1231,16 @@ } Box; #else + +/* GTK Cannot be included in an extern "C" section */ +#ifdef __cplusplus +} +#endif + /* GTK Specific section */ +#ifndef _GNU_SOURCE #define _GNU_SOURCE +#endif #include #if GTK_MAJOR_VERSION < 4 #ifdef GDK_WINDOWING_X11 @@ -1243,10 +1251,13 @@ #include #endif #include + +#ifdef __cplusplus +extern "C" { +#endif + #include -#if !defined(GDK_WINDOWING_WIN32) # include -#endif #define DW_DT_LEFT 1 #define DW_DT_UNDERSCORE (1 << 1)