Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/libsqlite3/CMakeLists.txt b/libsqlite3/CMakeLists.txt
- index 6aa462b..00a1c1a 100644
- --- a/libsqlite3/CMakeLists.txt
- +++ b/libsqlite3/CMakeLists.txt
- @@ -5,7 +5,7 @@ include(CheckIncludeFiles)
- include(CheckFunctionExists)
- include(CheckLibraryExists)
- -set(SQLITE_DEFINITIONS -DSQLITE_ENABLE_FTS3;-DSQLITE_ENABLE_RTREE -DNDEBUG)
- +set(SQLITE_DEFINITIONS -DSQLITE_ENABLE_FTS3;-DSQLITE_ENABLE_RTREE -DNDEBUG -fPIC)
- MACRO(CHECK_INCLUDE_FILE_DEFINE_MACRO include_file)
- string(REGEX REPLACE "[./]"
- diff --git a/lz4/CMakeLists.txt b/lz4/CMakeLists.txt
- index a026315..eae8040 100644
- --- a/lz4/CMakeLists.txt
- +++ b/lz4/CMakeLists.txt
- @@ -1 +1,2 @@
- +add_definitions(-fPIC)
- add_library(lz4 STATIC src/lib/lz4.c src/lib/lz4.h src/lib/lz4hc.c src/lib/lz4hc.h)
- diff --git a/ocaml/CMakeLists.txt b/ocaml/CMakeLists.txt
- index f7c8eb1..48bba70 100644
- --- a/ocaml/CMakeLists.txt
- +++ b/ocaml/CMakeLists.txt
- @@ -2,14 +2,34 @@
- message(STATUS "Building ocaml from third-party")
- set(OCAML_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/build")
- +set(OCAML_SRC "${CMAKE_CURRENT_BINARY_DIR}/ocaml_src.stamp")
- set(OCAML "${OCAML_PREFIX}/bin/ocaml")
- set(OCAMLC "${OCAML_PREFIX}/bin/ocamlc.opt")
- set(OCAMLOPT "${OCAML_PREFIX}/bin/ocamlopt.opt")
- -set(OCAMLBUILD "${OCAML_PREFIX}/bin/ocamlbuild.native")
- -set(OPAM_SRC "${CMAKE_CURRENT_BINARY_DIR}/opam")
- +set(OPAM_SRC "${CMAKE_CURRENT_BINARY_DIR}/opam_src.stamp")
- set(OPAM "${OCAML_PREFIX}/bin/opam")
- set(HACK_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../hphp/hack")
- +if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
- + add_custom_command(
- + OUTPUT "${OCAML_SRC}"
- + COMMAND cmake -E touch "${OCAML_SRC}"
- + )
- +else()
- + # OCaml 4.05 has a custom configure script that doesn't support out of source
- + # builds; 4.07 uses autotools so hopefully we don't need this when we next
- + # update ocaml
- + add_custom_command(
- + OUTPUT "${OCAML_SRC}"
- + COMMAND
- + cmake -E copy_directory
- + "${CMAKE_CURRENT_SOURCE_DIR}/src"
- + "${CMAKE_CURRENT_BINARY_DIR}/src"
- + && cmake -E touch "${OCAML_SRC}"
- + )
- +endif()
- +
- +
- # TODO: what about dependencies so we rebuild ocaml when it changes?
- # NOTE: The weirdness building world.opt twice is because (at least on arm64)
- # ocaml (4.03) seems to have parallel build dependency problems.
- @@ -19,38 +39,18 @@ add_custom_command(
- COMMAND \$\(MAKE\) -k world.opt || true
- COMMAND \$\(MAKE\) -j1 world.opt
- COMMAND \$\(MAKE\) install
- - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/src"
- + DEPENDS "${OCAML_SRC}"
- + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/src"
- COMMENT "Compiling ocaml")
- add_custom_command(
- - OUTPUT ${OCAMLBUILD}
- - # Hack up the path before building ocamlbuild.
- - # (OCamlBuild doesn't understand how to override its build tools properly -
- - # they call "ocamlc -where" directly from configure.make)
- - # This would be better as 'cmake -E env' but that's only available in cmake 3.1+
- - COMMAND /bin/bash -c "\
- - PATH='${OCAML_PREFIX}/bin:$ENV{PATH}' \
- - \$\(MAKE\) -f configure.make \
- - OCAML_NATIVE=true \
- - 'OCAMLBUILD_BINDIR=${OCAML_PREFIX}/bin' \
- - 'OCAMLBUILD_LIBDIR=${OCAML_PREFIX}/lib' \
- - 'OCAMLBUILD_MANDIR=${OCAML_PREFIX}/share/man' \
- - "
- - COMMAND /bin/bash -c "\
- - PATH='${OCAML_PREFIX}/bin:$ENV{PATH}' \
- - \$\(MAKE\) \
- - "
- - COMMAND \$\(MAKE\) install CHECK_IF_PREINSTALLED=false
- - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/ocamlbuild"
- - DEPENDS ${OCAMLC}
- - COMMENT "Compiling ocamlbuild")
- -
- -add_custom_command(
- - OUTPUT ${OPAM_SRC}
- - COMMAND ./fetch_and_setup_src.sh "${HACK_DIR}"
- - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- + OUTPUT "${OPAM_SRC}"
- + COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/fetch_and_setup_src.sh" "${HACK_DIR}"
- + DEPENDS ./fetch_and_setup_src.sh
- COMMENT "Fetch opam full source code from internet")
- +# `./configure` instead of `${CMAKE_CURRENT_SOURCE_DIR}/configure` because
- +# opam's source is extracted in the build directory
- add_custom_command(
- OUTPUT ${OPAM}
- COMMAND /bin/bash -c "\
- @@ -70,14 +70,14 @@ add_custom_command(
- PATH='${OCAML_PREFIX}/bin:$ENV{PATH}' \
- \$\(MAKE\) install \
- "
- - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/opam"
- + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/opam"
- DEPENDS ${OPAM_SRC} ${OCAMLC}
- COMMENT "Compiling opam")
- set(OCAMLC_FOUND TRUE)
- add_custom_target(ocaml
- - DEPENDS ${OCAMLC} ${OCAMLOPT} ${OCAMLBUILD} ${OPAM})
- + DEPENDS ${OCAMLC} ${OCAMLOPT} ${OPAM})
- set(OCAML_EXECUTABLE ${OCAML} CACHE FILEPATH "path to ocaml" FORCE)
- mark_as_advanced(OCAML_EXECUTABLE)
- @@ -85,7 +85,5 @@ set(OCAMLC_EXECUTABLE ${OCAMLC} CACHE FILEPATH "path to ocamlc" FORCE)
- mark_as_advanced(OCAMLC_EXECUTABLE)
- set(OCAMLOPT_EXECUTABLE ${OCAMLOPT} CACHE FILEPATH "path to ocamlopt" FORCE)
- mark_as_advanced(OCAMLOPT_EXECUTABLE)
- -set(OCAMLBUILD_EXECUTABLE ${OCAMLBUILD} CACHE FILEPATH "path to ocamlbuild" FORCE)
- -mark_as_advanced(OCAMLBUILD_EXECUTABLE)
- set(OPAM_EXECUTABLE ${OPAM} CACHE FILEPATH "path to opam" FORCE)
- mark_as_advanced(OPAM_EXECUTABLE)
- diff --git a/ocaml/fetch_and_setup_src.sh b/ocaml/fetch_and_setup_src.sh
- index 1bc65ef..4a4377b 100755
- --- a/ocaml/fetch_and_setup_src.sh
- +++ b/ocaml/fetch_and_setup_src.sh
- @@ -15,7 +15,7 @@ if ! [ -f "${OPAM_PKG}" ]; then
- fi
- # TODO: add the signature check once the file is available from github
- # atm it is generated manually with openssl
- -EXPECTED="$(<checksum)"
- +EXPECTED="$(<"$(dirname $0)/checksum")"
- ACTUAL="$(openssl dgst -sha256 ${OPAM_PKG})"
- if [ "$EXPECTED" != "$ACTUAL" ]; then
- echo "Checksum error while checking ${OPAM_PKG}"
- @@ -25,3 +25,4 @@ fi
- rm -rf opam
- tar xzf "${OPAM_PKG}"
- mv "opam-full-${OPAM_VERSION}" opam
- +touch opam_src.stamp
- diff --git a/ocaml/ocamlbuild b/ocaml/ocamlbuild
- deleted file mode 160000
- index 0eb62b7..0000000
- --- a/ocaml/ocamlbuild
- +++ /dev/null
- @@ -1 +0,0 @@
- -Subproject commit 0eb62b72b5abd520484210125b18073338a634bc
- diff --git a/util/make-notices.hh b/util/make-notices.hh
- index 9884d7d..7acd96b 100644
- --- a/util/make-notices.hh
- +++ b/util/make-notices.hh
- @@ -1,4 +1,4 @@
- -<?hh
- +<?hh // partial
- /*
- * Copyright (c) 2015-present, Facebook, Inc.
- * All rights reserved.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement