View Issue Details

IDProjectCategoryView StatusLast Update
0013427ScribusBuild Systempublic2015-10-19 21:07
Reporterjlec Assigned Tocbradney  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.5.1svn 
Summary0013427: Patch to consistently use -fPIC
DescriptionThe current buildsystem defines -fPIC add different places. The attaches patch unifies this into the usage of ${CMAKE_CXX_FLAGS_FPIC}
TagsNo tags attached.
PatchYes

Activities

jlec

2015-10-16 13:03

reporter  

scribus-9999-fpic.patch (7,530 bytes)   
 Scribus/CMakeLists.txt                              | 15 +++++++++++++++
 Scribus/scribus/colormgmt/CMakeLists.txt            |  2 ++
 Scribus/scribus/desaxe/CMakeLists.txt               |  1 +
 Scribus/scribus/fonts/CMakeLists.txt                |  1 +
 Scribus/scribus/styles/CMakeLists.txt               |  2 ++
 Scribus/scribus/text/CMakeLists.txt                 |  1 +
 Scribus/scribus/third_party/lib2geom/CMakeLists.txt |  8 +-------
 Scribus/scribus/third_party/pgf/CMakeLists.txt      |  2 ++
 Scribus/scribus/third_party/prc/CMakeLists.txt      |  2 ++
 Scribus/scribus/third_party/rtf-qt/CMakeLists.txt   |  2 ++
 Scribus/scribus/third_party/wpg/CMakeLists.txt      |  7 ++++---
 Scribus/scribus/third_party/zip/CMakeLists.txt      |  2 ++
 12 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/Scribus/CMakeLists.txt b/Scribus/CMakeLists.txt
index 8ab9525..f2ebf64 100644
--- a/Scribus/CMakeLists.txt
+++ b/Scribus/CMakeLists.txt
@@ -131,6 +131,21 @@ IF (_machine_sparc64)
 	SET(ARCH64BIT 1)
 ENDIF (_machine_sparc64)
 
+STRING(REGEX MATCH "(hppa*)" _machine_hppa "${MACHINE}")
+IF (_machine_hppa)
+	MESSAGE(STATUS "Found target Hppa")
+	SET(ARCH_HPPA 1)
+ENDIF (_machine_hppa)
+
+
+# We need to pass -fPIC to lib2geom on amd64, mips, mipsel, and hppa. See:
+# http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3 and
+# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559133
+
+IF (ARCH_X86_64 EQUAL 1 OR ARCH_HPPA EQUAL 1 OR ARCH_MIPS EQUAL 1 OR ARCH_MIPS_64 EQUAL 1 OR ARCH_PPC_64 EQUAL 1)
+	SET(CMAKE_CXX_FLAGS_FPIC "-fPIC")
+ENDIF (ARCH_X86_64 EQUAL 1 OR ARCH_HPPA EQUAL 1 OR ARCH_MIPS EQUAL 1 OR ARCH_MIPS_64 EQUAL 1 OR ARCH_PPC_64 EQUAL 1)
+
 ## Do our Apple OSX version setup
 IF (APPLE AND CMAKE_SIZEOF_VOID_P EQUAL 8 AND (ARCH_X86 EQUAL 1 OR ARCH_X86_64 EQUAL 1))
 	STRING(REGEX REPLACE ".*-darwin([0-9]+).*" "\\1" _apple_ver "${MACHINE}")
diff --git a/Scribus/scribus/colormgmt/CMakeLists.txt b/Scribus/scribus/colormgmt/CMakeLists.txt
index 7298a28..87c4f5e 100644
--- a/Scribus/scribus/colormgmt/CMakeLists.txt
+++ b/Scribus/scribus/colormgmt/CMakeLists.txt
@@ -3,6 +3,8 @@ ${CMAKE_SOURCE_DIR}
 ${CMAKE_SOURCE_DIR}/scribus
 )
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
+
 INCLUDE_DIRECTORIES( ${LCMS2_INCLUDE_DIR} )
 SET(SCRIBUS_LCMS_IMPL_SOURCES
 	sclcms2colormgmtengineimpl.cpp
diff --git a/Scribus/scribus/desaxe/CMakeLists.txt b/Scribus/scribus/desaxe/CMakeLists.txt
index 0098028..85e76b6 100644
--- a/Scribus/scribus/desaxe/CMakeLists.txt
+++ b/Scribus/scribus/desaxe/CMakeLists.txt
@@ -4,6 +4,7 @@ ${CMAKE_SOURCE_DIR}/scribus
 ${FREETYPE_INCLUDE_DIRS}
 )
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
 
 SET(SCRIBUS_DESAXE_LIB_SOURCES
 saxXML.cpp
diff --git a/Scribus/scribus/fonts/CMakeLists.txt b/Scribus/scribus/fonts/CMakeLists.txt
index a8f0e8d..beade2e 100644
--- a/Scribus/scribus/fonts/CMakeLists.txt
+++ b/Scribus/scribus/fonts/CMakeLists.txt
@@ -4,6 +4,7 @@ ${CMAKE_SOURCE_DIR}/scribus
 ${FREETYPE_INCLUDE_DIRS}
 )
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
 
 SET(SCRIBUS_FONTS_LIB_SOURCES
   scface.cpp
diff --git a/Scribus/scribus/styles/CMakeLists.txt b/Scribus/scribus/styles/CMakeLists.txt
index 6e0cf0a..2839689 100644
--- a/Scribus/scribus/styles/CMakeLists.txt
+++ b/Scribus/scribus/styles/CMakeLists.txt
@@ -4,6 +4,8 @@ INCLUDE_DIRECTORIES(
 	${FREETYPE_INCLUDE_DIRS}
 )
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
+
 SET(SCRIBUS_STYLES_MOC_CLASSES
 )
 
diff --git a/Scribus/scribus/text/CMakeLists.txt b/Scribus/scribus/text/CMakeLists.txt
index 1cd112f..4f658e3 100644
--- a/Scribus/scribus/text/CMakeLists.txt
+++ b/Scribus/scribus/text/CMakeLists.txt
@@ -4,6 +4,7 @@ INCLUDE_DIRECTORIES(
 	${FREETYPE_INCLUDE_DIRS}
 )
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
 
 SET(SCRIBUS_TEXT_MOC_CLASSES
 	storytext.h
diff --git a/Scribus/scribus/third_party/lib2geom/CMakeLists.txt b/Scribus/scribus/third_party/lib2geom/CMakeLists.txt
index 6187d96..3106f6e 100755
--- a/Scribus/scribus/third_party/lib2geom/CMakeLists.txt
+++ b/Scribus/scribus/third_party/lib2geom/CMakeLists.txt
@@ -5,13 +5,7 @@ ${CMAKE_SOURCE_DIR}/scribus
 
 SET(2GEOM_VERSION 0.1.0)
 
-# We need to pass -fPIC to lib2geom on amd64, mips, mipsel, and hppa. See:
-# http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3 and
-# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559133
-
-IF (ARCH_X86_64 EQUAL 1 OR ARCH_HPPA EQUAL 1 OR ARCH_MIPS EQUAL 1 OR ARCH_MIPS_64 EQUAL 1 OR ARCH_PPC_64 EQUAL 1)
-  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
-ENDIF (ARCH_X86_64 EQUAL 1 OR ARCH_HPPA EQUAL 1 OR ARCH_MIPS EQUAL 1 OR ARCH_MIPS_64 EQUAL 1 OR ARCH_PPC_64 EQUAL 1)
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
 
 OPTION(2GEOM_BUILD_SHARED
   "Build lib2geom and libtoy as shared libraries."
diff --git a/Scribus/scribus/third_party/pgf/CMakeLists.txt b/Scribus/scribus/third_party/pgf/CMakeLists.txt
index f84b3d4..d3b1db6 100644
--- a/Scribus/scribus/third_party/pgf/CMakeLists.txt
+++ b/Scribus/scribus/third_party/pgf/CMakeLists.txt
@@ -3,6 +3,8 @@ ${CMAKE_SOURCE_DIR}
 ${CMAKE_SOURCE_DIR}/scribus
 )
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
+
 SET(SCRIBUS_PGF_LIB_SOURCES
         Decoder.cpp
         Encoder.cpp
diff --git a/Scribus/scribus/third_party/prc/CMakeLists.txt b/Scribus/scribus/third_party/prc/CMakeLists.txt
index 5f7c2c6..1da7177 100644
--- a/Scribus/scribus/third_party/prc/CMakeLists.txt
+++ b/Scribus/scribus/third_party/prc/CMakeLists.txt
@@ -5,6 +5,8 @@ ${OPENGL_INCLUDE_DIR}
 ${FREETYPE_INCLUDE_DIRS}
 )
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
+
 SET(SCRIBUS_PRC_LIB_SOURCES
     oPRCFile.cc
     PRCbitStream.cc
diff --git a/Scribus/scribus/third_party/rtf-qt/CMakeLists.txt b/Scribus/scribus/third_party/rtf-qt/CMakeLists.txt
index 4124cef..0ef7560 100644
--- a/Scribus/scribus/third_party/rtf-qt/CMakeLists.txt
+++ b/Scribus/scribus/third_party/rtf-qt/CMakeLists.txt
@@ -45,6 +45,8 @@ SET(SCRIBUS_RTF_LIB_MOC_CLASSES
 
 QT5_WRAP_CPP(SCRIBUS_RTF_LIB_MOC_SOURCES ${SCRIBUS_RTF_LIB_MOC_CLASSES})
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
+
 SET(SCRIBUS_RTF_LIB "scribus_rtf_lib")
 ADD_LIBRARY(${SCRIBUS_RTF_LIB} STATIC ${SCRIBUS_RTF_LIB_SOURCES} ${SCRIBUS_RTF_LIB_MOC_SOURCES})
 SET_TARGET_PROPERTIES(${SCRIBUS_ZIB_LIB}
diff --git a/Scribus/scribus/third_party/wpg/CMakeLists.txt b/Scribus/scribus/third_party/wpg/CMakeLists.txt
index ff31e9f..fbc5cd4 100644
--- a/Scribus/scribus/third_party/wpg/CMakeLists.txt
+++ b/Scribus/scribus/third_party/wpg/CMakeLists.txt
@@ -2,10 +2,11 @@ INCLUDE_DIRECTORIES(
 ${CMAKE_SOURCE_DIR}
 ${CMAKE_SOURCE_DIR}/scribus
 )
+
 SET(LIB_TYPE STATIC)
-IF (ARCH_X86_64 EQUAL 1)
-  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
-ENDIF (ARCH_X86_64 EQUAL 1)
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
+
 SET(WPG_SOURCES
     WPG1Parser.cpp
     WPG2Parser.cpp
diff --git a/Scribus/scribus/third_party/zip/CMakeLists.txt b/Scribus/scribus/third_party/zip/CMakeLists.txt
index edf9683..f7676ab 100644
--- a/Scribus/scribus/third_party/zip/CMakeLists.txt
+++ b/Scribus/scribus/third_party/zip/CMakeLists.txt
@@ -4,6 +4,8 @@ ${CMAKE_SOURCE_DIR}/scribus
 ${ZLIB_INCLUDE_DIR}
 )
 
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
+
 SET(SCRIBUS_ZIP_LIB_SOURCES
         unzip.cpp
         zip.cpp
scribus-9999-fpic.patch (7,530 bytes)   

cbradney

2015-10-17 21:39

administrator   ~0036689

Thanks. Fixed in r20469

Kunda

2015-10-19 21:07

updater   ~0036717

Closing. Thanks jlec and craig.

Issue History

Date Modified Username Field Change
2015-10-16 13:03 jlec New Issue
2015-10-16 13:03 jlec File Added: scribus-9999-fpic.patch
2015-10-17 21:39 cbradney Note Added: 0036689
2015-10-17 21:39 cbradney Status new => resolved
2015-10-17 21:39 cbradney Fixed in Version => 1.5.1svn
2015-10-17 21:39 cbradney Resolution open => fixed
2015-10-17 21:39 cbradney Assigned To => cbradney
2015-10-19 21:07 Kunda Note Added: 0036717
2015-10-19 21:07 Kunda Status resolved => closed