Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,4 @@ env:
# DOCKER_PASS
- secure: "qEmUT+mBsHjLkrBYMZWiLl8+ZXq9UAv+DyMDww+N74hPtGiZxMqLuVIFq94qR/WhiI9zd7k+tjhy6TcgD8rpKoQnQSGXcotFGq6typ3UWEV0ekt40IMV5nBqopqGGIBVIHNfXjq0OTeYTF2eGncpNnznJHAQi8Dvj7vD99y5GA5RoZGSdsiqTyxBGMvZ0cE0QApkb1MH3lBVRzBuh6dotpa1RBlGR+i2xbcH3nAqy5RB38wZgMedAPnlUfg+uB+IQiF8+hbuSmHzADiabNLBkkB/UCOz59k/JkaeN+2gnyP6/so+SpOe1BKfpxKBcN74O4n056ZLDBRjTod2YSc49dKqxhZhQijwNJfFi3Tt5iNrFYdU3KPeqqfNLoQKmbBTKjGXbxHHXm3lnUuCTZH0Yd9QGKSAwn5kxDRy6DuyNMUGwFtu8YxzirwTJiQR6ayodMCMWjZCXuxUc0I5I2Y64CsofRWkuMbznjE4wJwptVPzTwIxkZnMt+aWVoQTXBtZVpiHf4CTJb65dyLDXeMOwhYnKzwLUrvvHHpOm7GygvAbbeDAzHumTDvt7s5nl2VwHNLmTK3TizvvpQCucIjG8M8dEd7iu4VRZh/rxGxV9MJ2qUNETa6hnfX+Z2xaLTcgYAG5z7p60sThPfFfYLopdJL1dO5eA/EncPzuQuh087w="
matrix:
- ARCH=x86
- ARCH=arm
- ARCH=x86,arm
27 changes: 10 additions & 17 deletions build.bash
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,16 @@ NO_TTY=

while [[ $# -gt 0 ]]; do
case $1 in
--verbose)
VERBOSE="-v"
shift
;;
--arch=x86)
ARCH="X86"
shift
;;
--arch=arm)
ARCH="ARM"
shift
;;
--no-tty)
NO_TTY=--no-tty
shift
;;
*) shift ;;

--arch=x86) ARCH="X86"; shift ;;
--arch=arm) ARCH="ARM"; shift ;;
--arch=arm,x86) ARCH="ARM\\;X86"; shift ;;
--arch=x86,arm) ARCH="X86\\;ARM"; shift ;;

--verbose) VERBOSE="-v"; shift ;;
--no-tty) NO_TTY=--no-tty; shift ;;

*) shift ;;
esac
done

Expand Down
3 changes: 3 additions & 0 deletions stage_sysroot.bash
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ stage_sysroot() {
cp -v "$BINTOOL" "${OUT}/usr/bin/"
done

mkdir -p "${OUT}/buildroot"
cp -v /this_dir/toolchainfile.cmake "${OUT}/buildroot"

####
## Disable this for Ubuntu 14.04, it doesn't seem to be present
####
Expand Down
64 changes: 64 additions & 0 deletions toolchainfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#
# Automatically generated file; DO NOT EDIT.
# CMake toolchain file for Buildroot
#

# In order to allow the toolchain to be relocated, we calculate the
# HOST_DIR based on this file's location: $(HOST_DIR)/usr/share/buildroot
# and store it in RELOCATED_HOST_DIR.
# All the other variables that need to refer to HOST_DIR will use the
# RELOCATED_HOST_DIR variable.
string(REPLACE "/opt/llvm-obfuscator/buildroot" "" RELOCATED_HOST_DIR ${CMAKE_CURRENT_LIST_DIR})

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR armv7l)

# Set the {C,CXX}FLAGS appended by CMake depending on the build type
# defined by Buildroot. CMake defaults these variables with -g and/or
# -O options, and they are appended at the end of the argument list,
# so the Buildroot options are overridden. Therefore these variables
# have to be cleared, so that the options passed in CMAKE_C_FLAGS do
# apply.
#
# Note:
# if the project forces some of these flag variables, Buildroot is
# screwed up and there is nothing Buildroot can do about that :(
set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "Debug CFLAGS")
set(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "Debug CXXFLAGS")
set(CMAKE_C_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CFLAGS")
set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CXXFLAGS")

# Build type from the Buildroot configuration
set(CMAKE_BUILD_TYPE Release CACHE STRING "Buildroot build configuration")

# Buildroot defaults flags.
# If you are using this toolchainfile.cmake file outside of Buildroot and
# want to customize the compiler/linker flags, then:
# * set them all on the cmake command line, e.g.:
# cmake -DCMAKE_C_FLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Dsome_custom_flag" ...
# * and make sure the project's CMake code extends them like this if needed:
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Dsome_definitions")
set(CMAKE_C_FLAGS "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os" CACHE STRING "Buildroot CFLAGS")
set(CMAKE_CXX_FLAGS "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os" CACHE STRING "Buildroot CXXFLAGS")
set(CMAKE_EXE_LINKER_FLAGS "" CACHE STRING "Buildroot LDFLAGS for executables")

set(CMAKE_INSTALL_SO_NO_EXE 0)

set(CMAKE_PROGRAM_PATH "${RELOCATED_HOST_DIR}/opt/llvm-obfuscator/bin")
set(CMAKE_SYSROOT "${RELOCATED_HOST_DIR}/opt/llvm-obfuscator/sysroot")
set(CMAKE_FIND_ROOT_PATH "${RELOCATED_HOST_DIR}/opt/llvm-obfuscator/sysroot")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(ENV{PKG_CONFIG_SYSROOT_DIR} "${RELOCATED_HOST_DIR}/opt/llvm-obfuscator/sysroot")

# This toolchain file can be used both inside and outside Buildroot.
set(CMAKE_C_COMPILER "${RELOCATED_HOST_DIR}/opt/llvm-obfuscator/wrappers/bin/arm-linux-gnueabihf-clang")
set(CMAKE_CXX_COMPILER "${RELOCATED_HOST_DIR}/opt/llvm-obfuscator/wrappers/bin/arm-linux-gnueabihf-clang++")
#if(1)
# set(CMAKE_Fortran_FLAGS_DEBUG "" CACHE STRING "Debug Fortran FLAGS")
# set(CMAKE_Fortran_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release Fortran FLAGS")
# set(CMAKE_Fortran_FLAGS "-Os" CACHE STRING "Buildroot FCFLAGS")
# set(CMAKE_Fortran_COMPILER "${RELOCATED_HOST_DIR}/usr/bin/arm-linux-gnueabihf-gfortran")
#endif()