2009-09-12 11:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
+ Minor tuning here and there.
* external/libhpdf/Makefile
+ Enabled libpng detection on darwin.
* config/linux/icc.mk
* config/linux/sunpro.mk
+ Implemented PIC compilation phase.
* config/linux/global.mk
* Deleted hacks dealing with PIC. Notice that now
we use -fpic on gcc/icc, while it was previously
set to -fPIC. The old hacks enabled PIC only for
Intel x86/x86_64 ABIs, which is now removed. Pls
speak up if we need to readd them on compiler
level. This way it'd be possible to optimize out second
compilation pass for ABIs which don't need special
PIC code generation. To make this useful in a generic
way, IMO we should fix ABI (CPU) HB_HOST_CPU/HB_CPU
detection in global.mk for *nix systems, and do
compiler level decisions based on HB_CPU value.
* config/linux/gcc.mk
* Minor option reordering.
This commit is contained in:
@@ -17,6 +17,33 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-09-12 11:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* INSTALL
|
||||
+ Minor tuning here and there.
|
||||
|
||||
* external/libhpdf/Makefile
|
||||
+ Enabled libpng detection on darwin.
|
||||
|
||||
* config/linux/icc.mk
|
||||
* config/linux/sunpro.mk
|
||||
+ Implemented PIC compilation phase.
|
||||
|
||||
* config/linux/global.mk
|
||||
* Deleted hacks dealing with PIC. Notice that now
|
||||
we use -fpic on gcc/icc, while it was previously
|
||||
set to -fPIC. The old hacks enabled PIC only for
|
||||
Intel x86/x86_64 ABIs, which is now removed. Pls
|
||||
speak up if we need to readd them on compiler
|
||||
level. This way it'd be possible to optimize out second
|
||||
compilation pass for ABIs which don't need special
|
||||
PIC code generation. To make this useful in a generic
|
||||
way, IMO we should fix ABI (CPU) HB_HOST_CPU/HB_CPU
|
||||
detection in global.mk for *nix systems, and do
|
||||
compiler level decisions based on HB_CPU value.
|
||||
|
||||
* config/linux/gcc.mk
|
||||
* Minor option reordering.
|
||||
|
||||
2009-09-12 01:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* config/linux/gcc.mk
|
||||
+ Enabled separate -fpic (with lowercase as a start) compilation
|
||||
|
||||
@@ -110,8 +110,7 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
|
||||
--------------
|
||||
(possible cross-build targets: Windows, Windows CE, MS-DOS, OS/2)
|
||||
|
||||
[ $ export HB_PLATFORM=<...> ]
|
||||
$ make install
|
||||
$ make install [HB_PLATFORM=<...>]
|
||||
|
||||
To test it, type:
|
||||
$ cd tests
|
||||
@@ -123,10 +122,9 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
|
||||
--------------------------------------
|
||||
(possible cross-build targets: Windows, Windows CE, MS-DOS)
|
||||
|
||||
[ $ export HB_PLATFORM=<...> ]
|
||||
$ gmake install
|
||||
$ gmake install [HB_PLATFORM=<...>]
|
||||
OR
|
||||
$ make install
|
||||
$ make install [HB_PLATFORM=<...>]
|
||||
|
||||
To test it, type:
|
||||
$ cd tests
|
||||
@@ -216,18 +214,18 @@ HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD
|
||||
HB_INC_GD=C:\gd\include
|
||||
HB_INC_GPM= (on Linux only)
|
||||
HB_INC_LIBHARU=C:\libharu\include (defaults to locally hosted version)
|
||||
HB_INC_LIBPNG=C:\libpng (defaults to locally hosted version on win/dos/os2)
|
||||
HB_INC_LIBPNG=C:\libpng (defaults to locally hosted version if not found)
|
||||
HB_INC_MYSQL=C:\mysql\include
|
||||
HB_INC_ODBC= (may only be needed on non-Windows systems)
|
||||
HB_INC_OPENSSL=C:\openssl\inc32 OR C:\openssl\include
|
||||
HB_INC_PCRE=C:\pcre (defaults to locally hosted version on win/dos/os2)
|
||||
HB_INC_PNG= (defaults to locally hosted version on non-*nix and Darwin systems)
|
||||
HB_INC_PCRE=C:\pcre (defaults to locally hosted version if not found)
|
||||
HB_INC_PNG= (defaults to locally hosted version if not found)
|
||||
HB_INC_PGSQL=C:\pgsql\include
|
||||
HB_INC_QT=C:\Qt\include
|
||||
HB_INC_SLANG= (on *nix systems)
|
||||
HB_INC_SQLITE3=C:\sqlite3 (defaults to locally hosted version on win/dos/os2)
|
||||
HB_INC_SQLITE3=C:\sqlite3 (defaults to locally hosted version if not found)
|
||||
HB_INC_X11= (on *nix systems)
|
||||
HB_INC_ZLIB=C:\zlib (defaults to locally hosted version on win/dos/os2)
|
||||
HB_INC_ZLIB=C:\zlib (defaults to locally hosted version if not found)
|
||||
HB_INC_WATT= (on MS-DOS systems)
|
||||
|
||||
To explicitly disable any given components, use the value 'no' (without
|
||||
@@ -252,7 +250,7 @@ HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD
|
||||
Darwin (Mac OS X)
|
||||
-----------------
|
||||
1.) Install MacPorts, follow their instructions:
|
||||
http://www.macports.org/
|
||||
https://www.macports.org/
|
||||
2.) sudo port install pcre slang allegro freeimage gd2 mysql5-devel postgresql84
|
||||
|
||||
Linux (generic)
|
||||
|
||||
@@ -12,7 +12,7 @@ OBJ_EXT := .o
|
||||
LIB_PREF := lib
|
||||
LIB_EXT := .a
|
||||
|
||||
HB_DYN_COPT := -fpic -DHB_DYNLIB
|
||||
HB_DYN_COPT := -DHB_DYNLIB -fpic
|
||||
|
||||
CC := $(HB_CCACHE) $(HB_CCPREFIX)$(HB_CMP)$(HB_CCPOSTFIX)
|
||||
CC_IN := -c
|
||||
|
||||
@@ -9,20 +9,3 @@ DYN_EXT := .so
|
||||
DYN_PREF := lib
|
||||
|
||||
HB_GT_LIBS += gttrm
|
||||
|
||||
ifeq ($(HB_SHELL),sh)
|
||||
ifneq ($(filter $(HB_COMPILER),gcc icc),)
|
||||
ifeq ($(filter -fPIC,$(HB_USER_CFLAGS)),)
|
||||
ifeq ($(filter -fpic,$(HB_USER_CFLAGS)),)
|
||||
_UNAME_M := $(shell uname -m)
|
||||
ifeq ($(findstring 86,$(_UNAME_M)),)
|
||||
HB_CFLAGS += -fPIC
|
||||
else
|
||||
ifneq ($(findstring 64,$(_UNAME_M)),)
|
||||
HB_CFLAGS += -fPIC
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -12,6 +12,8 @@ OBJ_EXT := .o
|
||||
LIB_PREF := lib
|
||||
LIB_EXT := .a
|
||||
|
||||
HB_DYN_COPT := -DHB_DYNLIB -fpic
|
||||
|
||||
CC := $(HB_CCACHE) $(HB_CMP)
|
||||
CC_IN := -c
|
||||
CC_OUT := -o
|
||||
@@ -33,10 +35,6 @@ ifneq ($(HB_BUILD_OPTIM),no)
|
||||
CFLAGS += -O3
|
||||
endif
|
||||
|
||||
# uncomment this if you want to force relocateable code for .so libs
|
||||
# it's necessary on some platforms but can reduce performance
|
||||
#CFLAGS += -fPIC
|
||||
|
||||
ifeq ($(HB_BUILD_DEBUG),yes)
|
||||
CFLAGS += -g
|
||||
endif
|
||||
@@ -54,7 +52,7 @@ ARFLAGS :=
|
||||
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) || ( $(RM) $(LIB_DIR)/$@ && false )
|
||||
|
||||
DY := $(CC)
|
||||
DFLAGS := -shared -fPIC $(LIBPATHS)
|
||||
DFLAGS := -shared $(LIBPATHS)
|
||||
DY_OUT := -o$(subst x,x, )
|
||||
DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib))
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ OBJ_EXT := .o
|
||||
LIB_PREF := lib
|
||||
LIB_EXT := .a
|
||||
|
||||
HB_DYN_COPT := -DHB_DYNLIB -KPIC
|
||||
|
||||
CC := $(HB_CCACHE) $(HB_CCPATH)$(HB_CCPREFIX)$(HB_CMP)$(HB_CCPOSTFIX)
|
||||
CC_IN := -c
|
||||
# NOTE: The ending space after -o is important, please preserve it.
|
||||
@@ -37,11 +39,6 @@ ifneq ($(HB_BUILD_OPTIM),no)
|
||||
CFLAGS += -xnolibmopt
|
||||
endif
|
||||
|
||||
# force position independent code for harbour shared library
|
||||
# it's not optimal but without support for compilation in two passes
|
||||
# we have to use this option also for static libraries and binaries
|
||||
CFLAGS += -KPIC
|
||||
|
||||
export HB_ISAOPT
|
||||
|
||||
CFLAGS += $(HB_ISAOPT)
|
||||
@@ -70,7 +67,7 @@ ARFLAGS :=
|
||||
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) || ( $(RM) $(LIB_DIR)/$@ && false )
|
||||
|
||||
DY := $(CC)
|
||||
DFLAGS := -G -KPIC $(HB_ISAOPT) $(LIBPATHS)
|
||||
DFLAGS := -G $(HB_ISAOPT) $(LIBPATHS)
|
||||
ifneq ($(HB_BUILD_OPTIM),no)
|
||||
DFLAGS += -fast -xnolibmopt
|
||||
endif
|
||||
|
||||
2
harbour/external/libhpdf/Makefile
vendored
2
harbour/external/libhpdf/Makefile
vendored
@@ -99,7 +99,7 @@ ifeq ($(HB_SUPPORTED),yes)
|
||||
_DET_VAR_HAS_ := HB_HAS_PNG
|
||||
_DET_FLT_PLAT :=
|
||||
_DET_FLT_COMP :=
|
||||
_DET_INC_DEFP := /usr/include
|
||||
_DET_INC_DEFP := /usr/include /opt/local/include
|
||||
_DET_INC_LOCL := $(TOP)$(ROOT)external/libpng
|
||||
_DET_INC_HEAD := /png.h
|
||||
include $(TOP)$(ROOT)config/detfun.mk
|
||||
|
||||
Reference in New Issue
Block a user