Browse Source

add CONFIG_STYLE for cmake based packages, fixup cmake host install

Waldemar Brodkorb 9 years ago
parent
commit
1d3eac1e03
5 changed files with 23 additions and 27 deletions
  1. 13 0
      mk/pkg-bottom.mk
  2. 1 4
      package/bcm2835-vc/Makefile
  3. 4 6
      package/cmake/Makefile
  4. 2 17
      package/mysql/Makefile
  5. 3 0
      scripts/toolchain.cmake.in

+ 13 - 0
mk/pkg-bottom.mk

@@ -57,6 +57,19 @@ endif
 
 ifneq ($(filter manual,${CONFIG_STYLE}),)
 	env ${CONFIGURE_ENV} ${MAKE} do-configure $(MAKE_TRACE)
+else ifneq ($(filter cmake,${CONFIG_STYLE}),)
+	@$(CMD_TRACE) "configuring cmake... "
+	sed -e "s#@@TARGET_CC@@#$(TARGET_CC)#" \
+	 	-e "s#@@TARGET_CXX@@#$(TARGET_CXX)#" \
+		-e "s#@@TARGET_CFLAGS@@#$(TARGET_CFLAGS)#" \
+		-e "s#@@TARGET_CXXFLAGS@@#$(TARGET_CXXFLAGS)#" \
+		-e "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" \
+		-e "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" \
+		$(SCRIPT_DIR)/toolchain.cmake.in > $(SCRIPT_DIR)/toolchain.cmake
+	(cd ${WRKBUILD} && PATH='${HOST_PATH}' \
+		cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+			-DCMAKE_TOOLCHAIN_FILE="$(SCRIPT_DIR)/toolchain.cmake" \
+		.)
 else ifneq ($(filter minimal,${CONFIG_STYLE}),)
 	@$(CMD_TRACE) "configuring... "
 	cd ${WRKBUILD}; rm -f config.{cache,status}; \

+ 1 - 4
package/bcm2835-vc/Makefile

@@ -21,10 +21,7 @@ include ${ADK_TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,BCM2835_VC,bcm2835-vc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-CONFIG_STYLE:=          manual
-
-do-configure:
-	(cd $(WRKBUILD) && PATH='${TARGET_PATH}' cmake -DCMAKE_SYSTEM_NAME=Linux .)
+CONFIG_STYLE:=          cmake
 
 bcm2835-vc-install:
 	$(INSTALL_DIR) ${IDIR_BCM2835_VC}/opt/vc/{bin,lib}

+ 4 - 6
package/cmake/Makefile

@@ -22,19 +22,17 @@ include $(ADK_TOPDIR)/mk/package.mk
 $(eval $(call HOST_template,CMAKE,cmake,$(PKG_VERSION)-${PKG_RELEASE}))
 
 HOST_STYLE:=		manual
-CONFIG_STYLE:=		manual
-XAKE_FLAGS+=		GCC_HONOUR_COPTS=s
 
 host-configure:
-	(cd $(WRKBUILD); ./configure --prefix=/usr)
+	(cd $(WRKBUILD); ./configure --prefix=${STAGING_HOST_DIR}/usr )
 
 host-build:
 	(cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
-		${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET})
+		${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET}) $(MAKE_TRACE)
 
 cmake-hostinstall:
-	$(INSTALL_BIN) $(WRKBUILD)/bin/cmake \
-		$(STAGING_HOST_DIR)/usr/bin
+	cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+		${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
 
 include ${ADK_TOPDIR}/mk/host-bottom.mk
 include ${ADK_TOPDIR}/mk/pkg-bottom.mk

+ 2 - 17
package/mysql/Makefile

@@ -26,7 +26,7 @@ $(eval $(call HOST_template,MYSQL,mysql,${PKG_VERSION}-${PKG_RELEASE}))
 $(eval $(call PKG_template,LIBMYSQLCLIENT,libmysqlclient,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 HOST_STYLE:=		manual
-CONFIG_STYLE:=		manual
+CONFIG_STYLE:=		cmake
 
 host-configure:
 	cd ${WRKBUILD} && PATH='${HOST_PATH}' \
@@ -49,22 +49,7 @@ mysql-hostinstall:
 	$(INSTALL_BIN) ${WRKBUILD}/storage/perfschema/gen_pfs_lex_token \
 		$(STAGING_HOST_DIR)/usr/bin
 
-do-configure:
-	sed -e "s#@@TARGET_CC@@#$(TARGET_CC)#" \
-	 	-e "s#@@TARGET_CXX@@#$(TARGET_CXX)#" \
-		-e "s#@@TARGET_CFLAGS@@#$(TARGET_CFLAGS)#" \
-		-e "s#@@TARGET_CXXFLAGS@@#$(TARGET_CXXFLAGS)#" \
-		-e "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" \
-		-e "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" \
-		$(SCRIPT_DIR)/toolchain.cmake.in > $(SCRIPT_DIR)/toolchain.cmake
-	(cd ${WRKBUILD} && PATH='${HOST_PATH}' \
-		cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
-			-DCMAKE_TOOLCHAIN_FILE="$(SCRIPT_DIR)/toolchain.cmake" \
-			-DWITH_EDITLINE=bundled \
-			-DCURSES_LIBRARY="$(STAGING_TARGET_DIR)/usr/lib" \
-			-DCURSES_INCLUDE_PATH="$(STAGING_TARGET_DIR)/usr/lib" \
-			-DSTACK_DIRECTION=1 \
-			.)
+post-configure:
 	$(CP) $(STAGING_HOST_DIR)/usr/bin/comp_err \
 		${WRKBUILD}/extra/
 	$(CP) $(STAGING_HOST_DIR)/usr/bin/comp_sql \

+ 3 - 0
scripts/toolchain.cmake.in

@@ -1,6 +1,9 @@
 set(CMAKE_SYSTEM_NAME Linux)
 set(CMAKE_C_COMPILER @@TARGET_CC@@)
 set(CMAKE_CXX_COMPILER @@TARGET_CXX@@)
+set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_C_FLAGS "@@TARGET_CFLAGS@@" CACHE STRING "OpenADK CFLAGS" FORCE)
+set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@" CACHE STRING "OpenADK CXXFLAGS" FORCE)
 set(CMAKE_INSTALL_SO_NO_EXE 0)
 set(CMAKE_PROGRAM_PATH \"@@STAGING_HOST_DIR@@/usr/bin\")
 set(CMAKE_FIND_ROOT_PATH \"@@STAGING_TARGET_DIR@@\")