Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[android] vcpkg_configure_make correct set flags for android build #15605

Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
fd8f515
[android] vcpkg_configure_make correct set flags for android build
xandox Jan 12, 2021
2887740
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
Jan 15, 2021
489fc1e
extend [c,cxx,ld] flags with crosscompiling arguments
Jan 15, 2021
d8569dd
review fixes
Jan 20, 2021
b116f00
set CC env if crosscompiling or not target is osx
xandox Jan 21, 2021
8c21e55
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
Jan 22, 2021
09d2be8
fix build on OSX
xandox Jan 25, 2021
ccd8931
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
xandox Jan 25, 2021
f502305
@jwtowner changes
xandox Mar 3, 2021
6e7258f
Merge remote-tracking branch 'origin' into vcpkg_configure_make_cross…
xandox Mar 3, 2021
08e7ef2
Merge branch 'vcpkg_configure_make_crosscompiling_android' of github.…
xandox Mar 3, 2021
c7669f2
merge problem
xandox Mar 3, 2021
f6a39e9
remove non debug messages
Mar 4, 2021
d200f1d
setup include directories for language
Mar 4, 2021
d1cd3d3
add CFLAGS to tools build command
xandox Mar 4, 2021
bf1d0b2
merge fixes
xandox Mar 4, 2021
4884287
version for fontconfig
xandox Mar 4, 2021
f3e2d07
fix ports builds
xandox Mar 9, 2021
e11544a
bump port version
xandox Mar 9, 2021
d17f86c
bump versions
xandox Mar 9, 2021
5b5e90e
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
xandox Mar 9, 2021
f60cbed
try to fix format
xandox Mar 10, 2021
de679cb
regenerate docs
xandox Mar 10, 2021
9b531c0
remove FORCE_APPEND_CURRENT_INCLUDE_DIR flag. do it automatically
xandox Mar 10, 2021
c9a6d8c
versions and docs
xandox Mar 10, 2021
dde7900
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
xandox Mar 19, 2021
2789f92
fix build on OSX
xandox Mar 19, 2021
2a265d3
bump versions
xandox Mar 19, 2021
a501508
Update scripts/cmake/vcpkg_configure_make.cmake
xandox Apr 1, 2021
385278b
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
Apr 1, 2021
04389f2
pr fixes
Apr 1, 2021
874ed4c
Merge branch 'master' of https://github.com/microsoft/vcpkg into vcpk…
Apr 13, 2021
dc9688d
revert unnided changes
Apr 13, 2021
9db4481
gmp build fix
xandox Apr 13, 2021
048ccfb
add cflags for compile time tools
Apr 13, 2021
f7e5bcf
vcpkg x-add-version gmp
Apr 13, 2021
317e142
Merge remote-tracking branch 'origin/master' into gmp_cflags_pr_15605
Apr 20, 2021
e57fc4c
add yasm-tool as host dependency
Apr 20, 2021
e4ac7ca
./vcpkg x-add-version gmp --overwrite-version
Apr 20, 2021
4b6243d
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
Apr 20, 2021
37e0095
update gmp/vcpkg.json
Apr 20, 2021
4e616f3
./vcpkg x-add-version --all --overwrite-version
Apr 20, 2021
3d59a60
formating
Apr 20, 2021
ae1e8fe
./vcpkg x-add-version gmp
Apr 20, 2021
eb34e4e
Merge branch 'gmp_cflags_pr_15605' into vcpkg_configure_make_crosscom…
Apr 20, 2021
1afa4b9
Update ports/gmp/vcpkg.json
JackBoosY Apr 20, 2021
7398fb3
Update versions/baseline.json
JackBoosY Apr 20, 2021
a6a9698
Update versions/g-/gmp.json
JackBoosY Apr 20, 2021
adaae5e
Update versions/g-/gmp.json
JackBoosY Apr 21, 2021
537b9ac
Merge remote-tracking branch 'xandox/gmp_cflags_pr_15605' into vcpkg_…
xandox Apr 21, 2021
1f56d6d
disable documentation generation
xandox Apr 21, 2021
4dee1aa
./vcpkg x-add-version libidn2
xandox Apr 21, 2021
06af14a
disable documentation generation
xandox Apr 21, 2021
e33c311
./vcpkg x-add-version libtasn1
xandox Apr 21, 2021
24f5c9c
patch cflags
xandox Apr 21, 2021
fd2b7e8
./vcpkg x-add-version nettle
xandox Apr 21, 2021
5bee364
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
May 6, 2021
fe0b549
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
xandox May 10, 2021
d79e5aa
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
xandox May 18, 2021
80319a9
fix LDFLAGS passing to configure
xandox May 18, 2021
70d72a3
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
May 31, 2021
8bcf325
Merge branch 'vcpkg_configure_make_crosscompiling_android' of github.…
May 31, 2021
982c15e
add CC_FOR_BUILD, CFLAGS_FOR_BUILD, ...
Jun 1, 2021
57e6b92
build libiconv for any crosscompiling
Jun 1, 2021
0559fac
vcpkg x-add-version libiconv
Jun 1, 2021
3623d32
set vcpkg installed directory as system include directory
Jun 2, 2021
114dee5
fix system include flags, vcpkg target arch determination
Jun 2, 2021
d1a68e2
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
Jun 7, 2021
c78e9dd
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
Jun 9, 2021
446d46e
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
xandox Jul 19, 2021
bce4cfe
revert libiconv
xandox Jul 21, 2021
0697b3f
fix vcpkg package version
xandox Jul 21, 2021
53690ac
Merge remote-tracking branch 'origin/master' into vcpkg_configure_mak…
xandox Jul 21, 2021
a39d18b
use VCPKG_INSTALLED_PATH include dir as first include dir to prevent …
xandox Jul 21, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
41 changes: 40 additions & 1 deletion scripts/cmake/vcpkg_configure_make.cmake
Expand Up @@ -139,6 +139,14 @@ macro(_vcpkg_determine_autotools_target_cpu out_var)
endif()
endmacro()

macro(_vcpkg_determine_autotools_target_os out_var)
if (VCPKG_DETECTED_CMAKE_SYSTEM_NAME MATCHES "Android")
set(${out_var} "linux-android")
else()
message(FATAL_ERROR "Unsupported target os ${VCPKG_DETECTED_CMAKE_SYSTEM_NAME} in _vcpkg_determine_autotools_target_os!")
endif()
endmacro()

macro(_vcpkg_backup_env_variable envvar)
if(DEFINED ENV{${envvar}})
set(${envvar}_BACKUP "$ENV{${envvar}}")
Expand Down Expand Up @@ -244,8 +252,10 @@ function(vcpkg_configure_make)
# Backup environment variables
# CCAS CC C CPP CXX FC FF GC LD LF LIBTOOL OBJC OBJCXX R UPC Y
set(_cm_FLAGS AS CCAS CC C CPP CXX FC FF GC LD LF LIBTOOL OBJC OBJXX R UPC Y RC)
set(_cm_TOOLS CC CXX AR AS LD RANLIB STRIP)
list(TRANSFORM _cm_FLAGS APPEND "FLAGS")
_vcpkg_backup_env_variables(${_cm_FLAGS})
_vcpkg_backup_env_variables(${_cm_TOOLS})


# FC fotran compiler | FF Fortran 77 compiler
Expand Down Expand Up @@ -396,6 +406,17 @@ function(vcpkg_configure_make)
list(APPEND _csc_OPTIONS gl_cv_host_cpu_c_abi=no)
endif()
else()
if (VCPKG_DETECTED_CMAKE_CROSSCOMPILING)
_vcpkg_determine_autotools_target_cpu(TARGET_ARCH)
xandox marked this conversation as resolved.
Show resolved Hide resolved
_vcpkg_determine_autotools_target_os(TARGET_OS)
# --build: the machine you are building on usualy guessed ok
# --host: the machine you are building for
# --target: the machine that CC will produce binaries for
# https://stackoverflow.com/questions/21990021/how-to-determine-host-value-for-configure-when-using-cross-compiler
# Only for ports using autotools so we can assume that they follow the common conventions for build/target/host
string(APPEND _csc_BUILD_TRIPLET "--host=${TARGET_ARCH}-${TARGET_OS}") # (Host activates crosscompilation; The name given here is just the prefix of the host tools for the target)
debug_message("Using make triplet: ${_csc_BUILD_TRIPLET}")
endif()
string(REPLACE " " "\ " _VCPKG_PREFIX ${CURRENT_INSTALLED_DIR})
string(REPLACE " " "\ " _VCPKG_INSTALLED ${CURRENT_INSTALLED_DIR})
set(EXTRA_QUOTES)
Expand Down Expand Up @@ -647,6 +668,24 @@ function(vcpkg_configure_make)
endif()

# Setup environment
if (NOT CMAKE_HOST_WIN32 AND VCPKG_DETECTED_CMAKE_CROSSCOMPILING)
xandox marked this conversation as resolved.
Show resolved Hide resolved
if (VCPKG_DETECTED_CMAKE_C_COMPILER)
set(ENV{CC} "${VCPKG_DETECTED_CMAKE_C_COMPILER}")
endif()
if (VCPKG_DETECTED_CMAKE_CXX_COMPILER)
set(ENV{CXX} "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}")
endif()
if (VCPKG_DETECTED_CMAKE_LINKER)
set(ENV{LD} "${VCPKG_DETECTED_CMAKE_LINKER}")
endif()
set(_tools AR RANLIB STRIP NM OBJDUMP DLLTOOL MT STRIP AS)
foreach (_toolname ${_tools})
if (VCPKG_DETECTED_CMAKE_${_toolname})
set(ENV{${_toolname}} ${VCPKG_DETECTED_CMAKE_${_toolname}})
endif()
endforeach()
list(APPEND _csc_OPTIONS "--with-sysroot=${VCPKG_DETECTED_CMAKE_SYSROOT}")
endif()
set(ENV{CPPFLAGS} "${CPPFLAGS_${_buildtype}}")
set(ENV{CFLAGS} "${CFLAGS_${_buildtype}}")
set(ENV{CXXFLAGS} "${CXXFLAGS_${_buildtype}}")
Expand Down Expand Up @@ -721,7 +760,7 @@ function(vcpkg_configure_make)
endforeach()

# Restore environment
_vcpkg_restore_env_variables(${_cm_FLAGS} LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH)
_vcpkg_restore_env_variables(${_cm_FLAGS} LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH ${_cm_TOOLS})

SET(_VCPKG_PROJECT_SOURCE_PATH ${_csc_SOURCE_PATH} PARENT_SCOPE)
set(_VCPKG_PROJECT_SUBPATH ${_csc_PROJECT_SUBPATH} PARENT_SCOPE)
Expand Down
40 changes: 39 additions & 1 deletion scripts/get_cmake_vars/CMakeLists.txt
Expand Up @@ -14,7 +14,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
CMAKE_OSX_SYSROOT)
endif()
# Programs to check
set(PROGLIST AR RANLIB STRIP NM OBJDUMP DLLTOOL MT LINKER)
set(PROGLIST AR RANLIB STRIP NM OBJDUMP DLLTOOL MT LINKER AS)
foreach(prog IN LISTS PROGLIST)
list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog})
endforeach()
Expand Down Expand Up @@ -68,6 +68,44 @@ endif()

project(get_cmake_vars LANGUAGES ${VCPKG_LANGUAGES})

if (CMAKE_CROSSCOMPILING)
xandox marked this conversation as resolved.
Show resolved Hide resolved
macro(_append_to target value)
xandox marked this conversation as resolved.
Show resolved Hide resolved
set(${target} "${${target}} ${value}")
endmacro()
if(CMAKE_CXX_COMPILER_TARGET AND CMAKE_CXX_COMPILE_OPTIONS_TARGET)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
_append_to(CMAKE_CXX_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}")
_append_to(CMAKE_C_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}")
_append_to(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}")
_append_to(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}")
else()
_append_to(CMAKE_CXX_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_TARGET} ${CMAKE_CXX_COMPILER_TARGET}")
_append_to(CMAKE_C_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_TARGET} ${CMAKE_CXX_COMPILER_TARGET}")
_append_to(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_TARGET} ${CMAKE_CXX_COMPILER_TARGET}")
_append_to(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_TARGET} ${CMAKE_CXX_COMPILER_TARGET}")
endif()
endif()
if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN)
xandox marked this conversation as resolved.
Show resolved Hide resolved
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
_append_to(CMAKE_CXX_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
_append_to(CMAKE_C_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
_append_to(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
_append_to(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
else()
_append_to(CMAKE_CXX_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
_append_to(CMAKE_C_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
_append_to(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
_append_to(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
endif()
endif()
if(CMAKE_SYSROOT AND CMAKE_CXX_COMPILE_OPTIONS_SYSROOT)
_append_to(CMAKE_CXX_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}")
_append_to(CMAKE_C_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}")
_append_to(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}")
_append_to(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}")
endif()
xandox marked this conversation as resolved.
Show resolved Hide resolved
endif()

foreach(VAR IN LISTS VCPKG_VARS_TO_CHECK)
string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_${VAR} \"${${VAR}}\")\n")
endforeach()
Expand Down