postgresql: properly handle pg_config host build
pg_config needs to be build for each target which creates some extra complications... Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
93a16dabc4
commit
d0c3f8b967
2 changed files with 45 additions and 8 deletions
|
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=postgresql
|
PKG_NAME:=postgresql
|
||||||
PKG_VERSION:=9.4.12
|
PKG_VERSION:=9.4.12
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=3
|
||||||
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
|
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
|
||||||
PKG_LICENSE:=PostgreSQL
|
PKG_LICENSE:=PostgreSQL
|
||||||
|
|
||||||
|
@ -79,6 +79,24 @@ define Package/pgsql-server/description
|
||||||
PostgreSQL databases Server.
|
PostgreSQL databases Server.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
PGSQL_SERVER_BIN := \
|
||||||
|
pg_archivecleanup \
|
||||||
|
pg_basebackup \
|
||||||
|
pg_controldata \
|
||||||
|
pg_ctl \
|
||||||
|
pg_dump \
|
||||||
|
pg_dumpall \
|
||||||
|
pg_isready \
|
||||||
|
pg_receivexlog \
|
||||||
|
pg_recvlogical \
|
||||||
|
pg_resetxlog \
|
||||||
|
pg_restore \
|
||||||
|
pg_standby \
|
||||||
|
pg_upgrade \
|
||||||
|
pg_xlogdump \
|
||||||
|
postgres \
|
||||||
|
initdb
|
||||||
|
|
||||||
PGSQL_CLI_EXTRA_BIN := \
|
PGSQL_CLI_EXTRA_BIN := \
|
||||||
clusterdb \
|
clusterdb \
|
||||||
createdb \
|
createdb \
|
||||||
|
@ -137,16 +155,13 @@ CONFIGURE_ARGS += \
|
||||||
|
|
||||||
EXTRA_CFLAGS:= -I$(PKG_BUILD_DIR)/src/include/
|
EXTRA_CFLAGS:= -I$(PKG_BUILD_DIR)/src/include/
|
||||||
|
|
||||||
# Need a native ecpg ,pg_config, and zic for build
|
# Need a native ecpg and zic for build
|
||||||
define Host/Compile
|
define Host/Compile
|
||||||
$(MAKE) -C $(HOST_BUILD_DIR)/src/interfaces/ecpg/preproc CC="$(HOSTCC)"
|
$(MAKE) -C $(HOST_BUILD_DIR)/src/interfaces/ecpg/preproc CC="$(HOSTCC)"
|
||||||
$(MAKE) -C $(HOST_BUILD_DIR)/src/timezone CC="$(HOSTCC)"
|
$(MAKE) -C $(HOST_BUILD_DIR)/src/timezone CC="$(HOSTCC)"
|
||||||
$(MAKE) -C $(HOST_BUILD_DIR)/src/bin/pg_config CC="$(HOSTCC)"
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Host/Install
|
define Host/Install
|
||||||
$(INSTALL_DIR) $(STAGING_DIR)/host/bin/
|
|
||||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/src/bin/pg_config/pg_config $(STAGING_DIR)/host/bin/
|
|
||||||
$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
|
$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
|
||||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/src/interfaces/ecpg/preproc/ecpg $(STAGING_DIR_HOSTPKG)/bin/
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/src/interfaces/ecpg/preproc/ecpg $(STAGING_DIR_HOSTPKG)/bin/
|
||||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/src/timezone/zic $(STAGING_DIR_HOSTPKG)/bin/
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/src/timezone/zic $(STAGING_DIR_HOSTPKG)/bin/
|
||||||
|
@ -157,6 +172,12 @@ define Build/Configure
|
||||||
$(SED) 's@ECPG = ../../preproc/ecpg@ECPG = $(STAGING_DIR_HOSTPKG)/bin/ecpg@' $(PKG_BUILD_DIR)/src/interfaces/ecpg/test/Makefile.regress
|
$(SED) 's@ECPG = ../../preproc/ecpg@ECPG = $(STAGING_DIR_HOSTPKG)/bin/ecpg@' $(PKG_BUILD_DIR)/src/interfaces/ecpg/test/Makefile.regress
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
$(call Build/Compile/Default, )
|
||||||
|
$(MAKE) -C $(PKG_BUILD_DIR)/src/bin/pg_config clean
|
||||||
|
$(MAKE) -C $(PKG_BUILD_DIR)/src/bin/pg_config CC="$(HOSTCC)" TARGET_CC="$(TARGET_CC)" CFLAGS="$(HOST_CFLAGS)" TARGET_CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" STD_LDFLAGS="$(TARGET_LDFLAGS)"
|
||||||
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += $(FPIC) -lpthread
|
TARGET_CFLAGS += $(FPIC) -lpthread
|
||||||
|
|
||||||
# because PROFILE means something else in the project Makefile
|
# because PROFILE means something else in the project Makefile
|
||||||
|
@ -179,8 +200,8 @@ endef
|
||||||
|
|
||||||
define Package/pgsql-server/install
|
define Package/pgsql-server/install
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pg_* $(PKG_INSTALL_DIR)/usr/bin/postgres \
|
$(INSTALL_BIN) $(foreach bin,$(PGSQL_SERVER_BIN),$(PKG_INSTALL_DIR)/usr/bin/$(bin)) $(1)/usr/bin/
|
||||||
$(PKG_INSTALL_DIR)/usr/bin/initdb $(1)/usr/bin/
|
|
||||||
ln -sf postgres $(1)/usr/bin/postmaster
|
ln -sf postgres $(1)/usr/bin/postmaster
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/share/postgresql
|
$(INSTALL_DIR) $(1)/usr/share/postgresql
|
||||||
|
@ -203,7 +224,9 @@ endef
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(LN) $(STAGING_DIR)/host/bin/pg_config $(1)/usr/bin
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/bin/pg_config/pg_config $(1)/usr/bin/
|
||||||
|
$(INSTALL_DIR) $(1)/host/bin/
|
||||||
|
$(LN) $(STAGING_DIR)/usr/bin/pg_config $(1)/host/bin
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpq $(1)/usr/include/
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpq $(1)/usr/include/
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpq-fe.h $(1)/usr/include/
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpq-fe.h $(1)/usr/include/
|
||||||
|
|
14
libs/postgresql/patches/020-pg_config-target-cflags.patch
Normal file
14
libs/postgresql/patches/020-pg_config-target-cflags.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--- a/src/bin/pg_config/Makefile
|
||||||
|
+++ b/src/bin/pg_config/Makefile
|
||||||
|
@@ -22,9 +22,9 @@ STD_CPPFLAGS := $(filter-out -I$(top_src
|
||||||
|
STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/port,$(LDFLAGS))
|
||||||
|
|
||||||
|
override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\""
|
||||||
|
-override CPPFLAGS += -DVAL_CC="\"$(CC)\""
|
||||||
|
+override CPPFLAGS += -DVAL_CC="\"$(TARGET_CC)\""
|
||||||
|
override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
|
||||||
|
-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
|
||||||
|
+override CPPFLAGS += -DVAL_CFLAGS="\"$(TARGET_CFLAGS)\""
|
||||||
|
override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
|
||||||
|
override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
|
||||||
|
override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
|
Loading…
Reference in a new issue