--- mkspecs/darwin-g++/qmake.conf.orig	2015-05-07 22:14:41
+++ mkspecs/darwin-g++/qmake.conf	2024-11-25 05:11:51
@@ -1,21 +1,22 @@
 #
 # qmake configuration for darwin-g++
 #
-# Written for Qt/X11 on Darwin and XFree86
+# Written for Qt/X11 on Darwin only
 #
 
 MAKEFILE_GENERATOR	= UNIX
 TARGET_PLATFORM		= macx
 TEMPLATE		= app
-CONFIG			+= qt warn_on release link_prl native_precompiled_headers
+CONFIG			+= qt warn_on release incremental global_init_link_order lib_version_first plugin_no_soname link_prl
 QT			+= core gui
 DEFINES                 += __USE_WS_X11__
 
+QMAKE_COMPILER_DEFINES  += __APPLE__ __GNUC__
+QMAKE_RESOURCE		= /Developer/Tools/Rez
+QMAKE_FIX_RPATH         = install_name_tool -id 
+QMAKE_MACOSX_DEPLOYMENT_TARGET = @MACOSX_DEPLOYMENT_TARGET@
+
 QMAKE_CC		= cc
-QMAKE_LEX		= flex
-QMAKE_LEXFLAGS		=
-QMAKE_YACC		= yacc
-QMAKE_YACCFLAGS		= -d
 QMAKE_CFLAGS		= -pipe
 QMAKE_CFLAGS_DEPS	= -M
 QMAKE_CFLAGS_WARN_ON	= -Wall -W
@@ -24,12 +25,17 @@
 QMAKE_CFLAGS_DEBUG	= -g
 QMAKE_CFLAGS_SHLIB	= -fPIC
 QMAKE_CFLAGS_STATIC_LIB	= $$QMAKE_CFLAGS_SHLIB
-QMAKE_EXTENSION_SHLIB	= dylib
-QMAKE_EXTENSION_PLUGIN	= so
+#QMAKE_EXTENSION_SHLIB	= dylib
+#QMAKE_EXTENSION_PLUGIN	= so
 QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
 QMAKE_CFLAGS_HIDESYMS	+= -fvisibility=hidden
-QMAKE_CFLAGS_THREAD	=
-QMAKE_CFLAGS_PRECOMPILE	+= -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_ARM_64     += -arch arm64 -Xarch_arm64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_CFLAGS_PPC_64     += -arch ppc64 -Xarch_ppc64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_CFLAGS_X86_64     += -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_CFLAGS_PPC        += -arch ppc
+QMAKE_CFLAGS_X86        += -arch i386
+QMAKE_CFLAGS_DWARF2     += -gdwarf-2
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
 QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
 
 QMAKE_CXX		= c++
@@ -43,8 +49,52 @@
 QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
 QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
 QMAKE_CXXFLAGS_HIDESYMS	+= $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
-QMAKE_CXXFLAGS_THREAD	=
+QMAKE_CXXFLAGS_ARM_64   += -arch arm64 -Xarch_arm64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_CXXFLAGS_PPC_64   += -arch ppc64 -Xarch_ppc64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_CXXFLAGS_X86_64   += -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_CXXFLAGS_PPC      += -arch ppc
+QMAKE_CXXFLAGS_X86      += -arch i386
+QMAKE_CXXFLAGS_DWARF2   += $$QMAKE_CFLAGS_DWARF2
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_OBJECTIVE_CFLAGS_ARM_64  += -arch arm64 -Xarch_arm64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_OBJECTIVE_CFLAGS_PPC_64  += -arch ppc64 -Xarch_ppc64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_OBJECTIVE_CFLAGS_X86_64  += -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_OBJECTIVE_CFLAGS_PPC  += -arch ppc
+QMAKE_OBJECTIVE_CFLAGS_X86  += -arch i386
+QMAKE_OBJCFLAGS_PRECOMPILE += -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_OBJCXXFLAGS_PRECOMPILE += -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_PCH_OUTPUT_EXT    = .gch
+
+QMAKE_LINK		= $$QMAKE_CXX
+QMAKE_LINK_SHLIB	= $$QMAKE_CXX
+QMAKE_LINK_C	        = $$QMAKE_CC
+QMAKE_LINK_C_SHLIB      = $$QMAKE_CC
+QMAKE_LFLAGS		+= -headerpad_max_install_names
+QMAKE_LFLAGS_RELEASE	+=
+QMAKE_LFLAGS_DEBUG	+=
+QMAKE_LFLAGS_APP        +=
+QMAKE_LFLAGS_SHLIB	+= -dynamiclib -single_module
+QMAKE_LFLAGS_PLUGIN	+= $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_THREAD	+=
+QMAKE_LFLAGS_INCREMENTAL+= -undefined suppress -flat_namespace
+QMAKE_LFLAGS_SONAME	+= -install_name$${LITERAL_WHITESPACE}
+QMAKE_LFLAGS_ARM_64     += -arch arm64 -Xarch_arm64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_LFLAGS_PPC_64     += -arch ppc64 -Xarch_ppc64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_LFLAGS_X86_64     += -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=@MACOSX_DEPLOYMENT_TARGET@
+QMAKE_LFLAGS_PPC        += -arch ppc
+QMAKE_LFLAGS_X86        += -arch i386
+QMAKE_LFLAGS_VERSION    += -current_version$${LITERAL_WHITESPACE}
+QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE}
+# -all_load requred to make Objective-C categories work in static builds.
+QMAKE_LFLAGS_STATIC_LIB += -all_load
+QMAKE_LFLAGS_RPATH	+=
 
 QMAKE_INCDIR		=
 QMAKE_LIBDIR		=
@@ -54,29 +104,11 @@
 QMAKE_INCDIR_OPENGL	= /usr/X11R6/include
 QMAKE_LIBDIR_OPENGL	= /usr/X11R6/lib
 
-QMAKE_LINK		= c++
-QMAKE_LINK_SHLIB	= c++
-QMAKE_LFLAGS		+= -headerpad_max_install_names
-QMAKE_LFLAGS		=
-QMAKE_LFLAGS_RELEASE	=
-QMAKE_LFLAGS_DEBUG	=
-QMAKE_LFLAGS_APP        = -prebind
-QMAKE_LFLAGS_SHLIB	= -prebind -dynamiclib -single_module
-QMAKE_LFLAGS_PLUGIN	= -prebind -bundle
-QMAKE_LFLAGS_THREAD	=
-QMAKE_LFLAGS_SONAME	+= -install_name$${LITERAL_WHITESPACE}
-
-QMAKE_LFLAGS_VERSION    = -current_version$${LITERAL_WHITESPACE}
-QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE}
-
-QMAKE_LFLAGS_RPATH	=
-
 QMAKE_LIBS_DYNLOAD	=
 QMAKE_LIBS_X11		= -lXext -lX11 -lm
 QMAKE_LIBS_X11SM	= -lSM -lICE
 QMAKE_LIBS_OPENGL	= -lGLU -lGL
 QMAKE_LIBS_OPENGL_QT	= -lGL
-QMAKE_LIBS_THREAD	=
 
 QMAKE_MOC		= $$[QT_INSTALL_BINS]/moc
 QMAKE_UIC		= $$[QT_INSTALL_BINS]/uic
@@ -88,19 +120,19 @@
 QMAKE_TAR		= tar -cf
 QMAKE_GZIP		= gzip -9f
 
+QMAKE_LEX		= flex
+QMAKE_LEXFLAGS		=
+QMAKE_YACC		= yacc
+QMAKE_YACCFLAGS		= -d
+
 QMAKE_COPY		= cp -f
 QMAKE_COPY_FILE		= $$QMAKE_COPY
-QMAKE_COPY_DIR		= $$QMAKE_COPY -r
+QMAKE_COPY_DIR		= $$QMAKE_COPY -R
 QMAKE_MOVE		= mv -f
 QMAKE_DEL_FILE		= rm -f
 QMAKE_DEL_DIR		= rmdir
 QMAKE_CHK_DIR_EXISTS	= test -d
 QMAKE_MKDIR		= mkdir -p
 
-QMAKE_PCH_OUTPUT_EXT    = .gch
-
-QMAKE_CXXFLAGS_PRECOMPILE += -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
-
 include(../common/unix.conf)
 load(qt_config)
