Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
5471984
Add mvfst and usdt dependencies
mszabo-wikia Dec 28, 2024
714450d
Fix thrift build
mszabo-wikia Dec 28, 2024
56874ff
Fix phph/hhbbc/index.cpp compilation
mszabo-wikia Dec 28, 2024
9bb9b94
IWYU: fix boost include in hphp/compiler/systemlib.cpp
mszabo-wikia Dec 28, 2024
35ebe00
Update OCaml stubs
mszabo-wikia Dec 28, 2024
08c0ac8
Remove nonexistent actions runner label
mszabo-wikia Dec 28, 2024
1375013
Require the ldap package
mszabo-wikia Dec 28, 2024
eb6794f
Provide OCaml env vars for ocamlrep crate
mszabo-wikia Dec 28, 2024
5beba08
Update folly patches
mszabo-wikia Dec 28, 2024
3ca563b
Fix hhbc-unit.h generation
mszabo-wikia Apr 14, 2025
a28b2e6
Use system libraries for xxhash, lz4 and double-conversion
mszabo-wikia Dec 28, 2024
84f557d
Use vendored fast_float library for folly
mszabo-wikia Dec 28, 2024
4b36bae
Don't build squangle and mcrouter for OSS for now
mszabo-wikia Dec 28, 2024
7146296
Add missing extension dependencies
mszabo-wikia Dec 28, 2024
93e287f
hack: skip building blake3 hash for now
mszabo-wikia Dec 28, 2024
a35eafa
Disable more broken extensions
mszabo-wikia Dec 28, 2024
8208b8f
Allow building with system lz4
mszabo-wikia Dec 28, 2024
bc961a4
Fix spammy -Winconsistent-override in transport.h
mszabo-wikia Dec 28, 2024
a2861f4
Fix TBB clang patch
mszabo-wikia Dec 28, 2024
7ef0e9a
Attempt to workaround build races
mszabo-wikia Dec 28, 2024
a785534
Install and force libc++ for the OSS build
mszabo-wikia Dec 29, 2024
7879f32
Silence spammy 'non-local-definitions' rust lint
mszabo-wikia Dec 29, 2024
73f0f28
Use LLVM 17 to satisfy C++20 requirements
mszabo-wikia Dec 29, 2024
0c4ad09
Build xed since it's now required
mszabo-wikia Dec 29, 2024
aa5e30a
Parallelize the folly build
mszabo-wikia Dec 29, 2024
7037ed5
Update Fizz patches
mszabo-wikia Dec 29, 2024
c55bbbc
Update third-party GitHub actions
mszabo-wikia Dec 30, 2024
aae0f53
Switch CI from Focal to Jammy
mszabo-wikia Dec 31, 2024
c27b0cb
Use single Rust staticlib for FFI
mszabo-wikia Dec 31, 2024
a8bcdca
Use underlying type for formatting HPHP::jit::Opcode to fix debug build
mszabo-wikia Jan 3, 2025
92242dc
Ensure Rust commands execute after OPAM setup
mszabo-wikia Jan 3, 2025
d6500ed
Generate config headers from configs.specification
mszabo-wikia Dec 28, 2024
2c4f2d6
Link fizz against liboqs transitively if it was found
mszabo-wikia Jan 3, 2025
ac1e7de
support new libdwarfp API
mszabo-wikia Jan 5, 2025
7cae5d9
Fix tc-print link order
mszabo-wikia Jan 5, 2025
37667a8
Fix compilation error with OpenSSL 3
Atry Nov 2, 2022
0a1c62d
Update systemlib generation to support precompiled systemlibs
mszabo-wikia Dec 28, 2024
b42b74f
Use an Ubuntu 24.04 CI
mszabo-wikia Jan 5, 2025
7c79c33
Fix ocamlrep_marshal dune lock
mszabo-wikia Jan 5, 2025
c5b9180
Use Opensource Team-approved runner label
mszabo-wikia Jan 6, 2025
3fa4f51
Fix tc-print subdirectory load order
mszabo-wikia Jan 6, 2025
44d4efa
Switch back to RelWithDebInfo builds after stabilizing CI
mszabo-wikia Jan 7, 2025
7589547
Stabilize ocaml build
mszabo-wikia Feb 1, 2025
77d6f59
Lowercase fizz reference
mszabo-wikia Feb 2, 2025
1517fe7
Undefine a MySQL constant until the client is updated
mszabo-wikia Feb 10, 2025
c55e33c
Remove SSE4.2 and AVX2 toggles in favor of march=x86-64-v3
mszabo-wikia Feb 14, 2025
3b0abeb
Add sandcastle module dependency
mszabo-wikia Mar 13, 2025
5b0deea
Add diagnostics stub
mszabo-wikia Mar 18, 2025
60ee7cc
Stub DeclarationsRewriter.rename_decls
mszabo-wikia Apr 14, 2025
0c5fc1f
Include cxxabi and libunwind headers in unique-stubs.cpp
mszabo-wikia Apr 15, 2025
2a9f366
Fix OCaml stubs
mszabo-wikia May 15, 2025
77205c7
Add libbpf dependency
mszabo-wikia May 16, 2025
3d1c0c3
Silence noisy nontrivial-memcall diagnostic on clang 20
mszabo-wikia May 16, 2025
ea3c790
Try to include the MySQL extension
hershel-theodore-layton Jun 1, 2025
047999d
Only containerize the actual package build
mszabo-wikia Jun 5, 2025
94d9594
Use separate build directories for Rust libraries in dune
mszabo-wikia Jun 6, 2025
719fcff
Remove use of deprecated boost/filesystem/string_file
mszabo-wikia Jun 6, 2025
c9cb165
Build the mcrouter extension
mszabo-wikia Jun 6, 2025
40a31ef
Consistently check connection validity in AsyncMysqlConnection
mszabo-wikia Jun 25, 2025
4695eef
Disable push builds for now
mszabo-wikia Jun 25, 2025
5574fbb
Update OPAM deps with too old versions
mszabo-wikia Jun 25, 2025
ee27a6b
dpkg-buildpackage: error: unknown option or argument --no-lintian
hershel-theodore-layton May 31, 2025
c27c326
Fix glog vendoring
mszabo-wikia Sep 23, 2025
5228fa4
Update references to generate-ptr-def.sh
mszabo-wikia Sep 24, 2025
6d7dc55
Update bundled glog to match Ubuntu Noble
mszabo-wikia Sep 24, 2025
da0b9ed
Add dependency on libc-ares-dev
mszabo-wikia Sep 24, 2025
3469110
Fix OSS Hack build on Arm
mszabo-wikia Sep 23, 2025
fb09ef6
arm64: require armv8.2-a
mszabo-wikia Sep 4, 2025
6b4bb11
Make libheif an optional dependency for ext_gd
mszabo-wikia Sep 24, 2025
b56ca1a
Disable PIE without ENABLE_SSP
mszabo-wikia Oct 6, 2025
4704d35
Remove outdated functionality from the build system
mszabo-wikia Oct 8, 2025
c3811f1
Make ROAR include internal-only
mszabo-wikia Oct 9, 2025
27a1ba6
Increase workflow timeout
mszabo-wikia Oct 10, 2025
f5c8b22
Update to Rust 1.91
mszabo-wikia Apr 14, 2025
661c04e
Update mvfst submodule ref
mszabo-wikia Feb 1, 2025
58ced23
Fix system gflags
mszabo-wikia Jul 29, 2025
a88f70d
Add missing includes for libstdc++
mszabo-wikia Jul 29, 2025
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
73 changes: 25 additions & 48 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
name: Ubuntu CI

on:
push:
branches-ignore:
# Exclude the push event for exported diffs, because the CI for export
# should have been covered by GitHub Actions triggered by pull requests.
- 'export-D+'
pull_request:

concurrency:
Expand All @@ -25,47 +20,29 @@ env:
DEBIAN_FRONTEND: "noninteractive"

jobs:
build_ubuntu_focal_nightly:
runs-on: 16-core
container:
image: ubuntu:focal
env:
DISTRO: ubuntu-20.04-focal
IS_NIGHTLY: 1
CLANG_VERSION: 12
build_ubuntu_noble_nightly:
timeout-minutes: 660 # 12 hours
runs-on: ubuntu-latest
steps:
- name: Installing dependencies to bootstrap env
run: apt update -y && apt install -y git wget lsb-release software-properties-common gpg
- name: Installing llvm
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
# Note: Keep this version in sync with the one in the Debian control file.
./llvm.sh ${CLANG_VERSION}
- name: Making LLVM the default compiler
run: |
if [ -f /etc/alternatives/cc ]
then
update-alternatives --remove-all cc
fi

if [ -f /etc/alternatives/c++ ]
then
update-alternatives --remove-all c++
fi

update-alternatives --install /usr/bin/cc cc /usr/bin/clang++-${CLANG_VERSION} 500
update-alternatives --set cc /usr/bin/clang++-${CLANG_VERSION}
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-${CLANG_VERSION} 500
update-alternatives --set c++ /usr/bin/clang++-${CLANG_VERSION}
- name: Fetching HHVM and its submodules
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Installing HHVM deps and building HHVM
run: ci/bin/make-debianish-package
- name: Uploading artifacts
uses: actions/upload-artifact@v3
with:
name: out-directory
path: ${{ env.OUT }}
# The HHVM build requires more disk space than what is available
# on a default Actions runner, so remove some cruft.
- name: Free up disk space
uses: jlumbroso/[email protected]
- name: Fetching HHVM and its submodules
uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Installing HHVM deps and building HHVM
uses: docker://ubuntu:noble
env:
DISTRO: ubuntu-24.04-noble
IS_NIGHTLY: 1
CLANG_VERSION: 18
with:
entrypoint: /bin/bash
args: ci/bin/make-debianish-package
- name: Uploading artifacts
uses: actions/upload-artifact@v4
with:
name: out-directory
path: ${{ env.OUT }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ install_manifest.txt
/hphp/hack/test/.mypy_cache
/hphp/util/generated-hhjs-babel-transform.txt

# Generated core systemlib
/hphp/runtime/ext/core/ext_core.php

# CPack
CPackConfig.cmake
CPackSourceConfig.cmake
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@
[submodule "xed-xed"]
path = third-party/xed/xed
url = https://github.com/intelxed/xed.git
[submodule "third-party/mvfst/src"]
path = third-party/mvfst/src
url = https://github.com/facebook/mvfst.git
15 changes: 15 additions & 0 deletions CMake/FindBpf.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
find_path(BPF_INCLUDE_DIR bpf/bpf.h)
find_library(BPF_LIBRARY NAMES bpf)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(BPF DEFAULT_MSG BPF_LIBRARY BPF_INCLUDE_DIR)

if(BPF_FOUND)
set(BPF_LIBRARIES ${BPF_LIBRARY})
set(BPF_INCLUDE_DIRS ${BPF_INCLUDE_DIR})
else()
set(BPF_LIBRARIES)
set(BPF_INCLUDE_DIRS)
endif()

mark_as_advanced(BPF_LIBRARIES BPF_INCLUDE_DIRS)
69 changes: 53 additions & 16 deletions CMake/FindLibDwarf.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -25,36 +25,72 @@ endif (LIBDWARF_LIBRARIES AND LIBDWARF_INCLUDE_DIRS)
find_package(PkgConfig)
pkg_check_modules(PkgConfig_LibDwarf QUIET libdwarf)

set(
LIBDWARF_INCLUDE_PATHS
${PkgConfig_LibDwarf_INCLUDE_DIRS}
/usr/include
/usr/include/libdwarf
/usr/local/include
/usr/local/include/libdwarf
/opt/local/include
/sw/include
)

find_path (DWARF_INCLUDE_DIR
NAMES
libdwarf.h dwarf.h
PATHS
${PkgConfig_LibDwarf_INCLUDE_DIRS}
/usr/include
/usr/include/libdwarf
/usr/local/include
/usr/local/include/libdwarf
/opt/local/include
/sw/include
${LIBDWARF_INCLUDE_PATHS}
ENV CPATH) # PATH and INCLUDE will also work

if (DWARF_INCLUDE_DIR)
set (LIBDWARF_INCLUDE_DIRS ${DWARF_INCLUDE_DIR})
endif ()

set(LIBDWARF_LIBRARY_NAMES dwarf libdwarf)

find_path (LIBDWARF_PRODUCER_PATHS
NAMES
libdwarfp.h
PATHS
${LIBDWARF_INCLUDE_PATHS}
ENV CPATH
)

set(
LIBDWARF_LIBRARY_PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
${PkgConfig_LibDwarf_LIBRARY_DIRS}
ENV LIBRARY_PATH # PATH and LIB will also work
ENV LD_LIBRARY_PATH
)

if (LIBDWARF_PRODUCER_PATHS)
set(LIBDWARF_USE_NEW_PRODUCER_API 1)
else()
set(LIBDWARF_USE_NEW_PRODUCER_API 0)
endif()

find_library (LIBDWARF_LIBRARIES
NAMES
dwarf libdwarf
PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
${PkgConfig_LibDwarf_LIBRARY_DIRS}
ENV LIBRARY_PATH # PATH and LIB will also work
ENV LD_LIBRARY_PATH)
include (FindPackageHandleStandardArgs)
${LIBDWARF_LIBRARY_PATHS})

if (LIBDWARF_USE_NEW_PRODUCER_API)
find_library (LIBDWARFP_LIBRARIES
NAMES
dwarfp libdwarfp
PATHS
${LIBDWARF_LIBRARY_PATHS})

list(APPEND LIBDWARF_LIBRARIES ${LIBDWARFP_LIBRARIES})
endif()

include (FindPackageHandleStandardArgs)

# handle the QUIETLY and REQUIRED arguments and set LIBDWARF_FOUND to TRUE
# if all listed variables are TRUE
Expand Down Expand Up @@ -106,7 +142,7 @@ if (LIBDWARF_LIBRARIES AND LIBDWARF_INCLUDE_DIRS)

# Order is important, last one is used.
CHECK_LIBDWARF_INIT("dwarf_producer_init"
"0, dwarfCallback, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr" 0)
"0, dwarfCallback, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr" 0)
CHECK_LIBDWARF_INIT("dwarf_producer_init_c" "0, dwarfCallback, nullptr, nullptr, nullptr, nullptr" 1)

set(CMAKE_REQUIRED_INCLUDES)
Expand All @@ -127,3 +163,4 @@ endif()
mark_as_advanced(LIBDW_INCLUDE_DIR DWARF_INCLUDE_DIR)
mark_as_advanced(LIBDWARF_INCLUDE_DIRS LIBDWARF_LIBRARIES)
mark_as_advanced(LIBDWARF_CONST_NAME LIBDWARF_USE_INIT_C)
mark_as_advanced(LIBDWARF_USE_NEW_PRODUCER_API)
28 changes: 7 additions & 21 deletions CMake/HHVMExtensionConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -442,15 +442,7 @@ function (HHVM_EXTENSION_INTERNAL_SORT_OUT_SOURCES rootDir)
elseif (${fileExtension} STREQUAL ".h" OR ${fileExtension} STREQUAL ".hpp")
list(APPEND HEADER_SOURCES "${rootDir}/${fileName}")
elseif (${fileExtension} STREQUAL ".s")
# AT&T syntax, MSVC doesn't like.
if (NOT MSVC)
list(APPEND ASM_SOURCES "${rootDir}/${fileName}")
endif()
elseif (${fileExtension} STREQUAL ".asm")
# MASM syntax. MSVC only.
if (MSVC)
list(APPEND ASM_SOURCES "${rootDir}/${fileName}")
endif()
list(APPEND ASM_SOURCES "${rootDir}/${fileName}")
elseif (${fileExtension} STREQUAL ".php")
list(APPEND PHP_SOURCES "${rootDir}/${fileName}")
elseif (${fileExtension} STREQUAL ".hack")
Expand Down Expand Up @@ -530,10 +522,6 @@ function(HHVM_EXTENSION_INTERNAL_RESOLVE_DEPENDENCIES_OF_EXTENSION resolvedDestV
if (${listIDX} EQUAL 0)
# OS Dependency
if (${currentDependency} STREQUAL "osPosix")
if (MSVC)
HHVM_EXTENSION_INTERNAL_SET_FAILED_DEPENDENCY(${extensionID} ${currentDependency} ON)
break()
endif()
else()
message(FATAL_ERROR "The only OS restriction that is currently valid is 'osPosix', got '${currentDependency}'!")
endif()
Expand Down Expand Up @@ -781,15 +769,13 @@ function (HHVM_EXTENSION_INTERNAL_HANDLE_LIBRARY_DEPENDENCY extensionID dependen
HHVM_EXTENSION_INTERNAL_ADD_DEFINES("-DHAVE_LIBGMP")
endif()
elseif (${libraryName} STREQUAL "heif")
find_package(Libheif ${requiredVersion} REQUIRED)
if (NOT LIBHEIF_INCLUDE_DIR OR NOT LIBHEIF_LIBRARY)
HHVM_EXTENSION_INTERNAL_SET_FAILED_DEPENDENCY(${extensionID} ${dependencyName})
return()
endif()
find_package(libheif 1.19.8 CONFIG)

if (${addPaths})
HHVM_EXTENSION_INTERNAL_ADD_INCLUDE_DIRS(${LIBHEIF_INCLUDE_DIR})
HHVM_EXTENSION_INTERNAL_ADD_LINK_LIBRARIES(${LIBHEIF_LIBRARY})
if (libheif_FOUND AND ${addPaths})
get_target_property(DEPENDENCY_TARGET_INCLUDE_DIR heif INTERFACE_INCLUDE_DIRECTORIES)
HHVM_EXTENSION_INTERNAL_ADD_INCLUDE_DIRS("${DEPENDENCY_TARGET_INCLUDE_DIR}")
HHVM_EXTENSION_INTERNAL_ADD_LINK_LIBRARIES(heif)
HHVM_EXTENSION_INTERNAL_ADD_DEFINES("-DHAVE_LIBHEIF")
endif()
elseif (${libraryName} STREQUAL "iconv")
find_package(Libiconv ${requiredVersion})
Expand Down
17 changes: 1 addition & 16 deletions CMake/HHVMGenerateConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,6 @@ function(HHVM_GENERATE_CONFIG_FUNCTIONS_FOUND_DEFINE_STRING destVarName)
"utimes"
)

# This is a list of functions that are known to be present under MSVC
# because they are implemented via Folly's portability headers. For an
# item in this list to have any effect, it must first fail to be found
# when checking the item in the main list.
set(HHVM_FUNCTIONS_KNOWN_TO_BE_PRESENT_MSVC)
list(APPEND HHVM_FUNCTIONS_KNOWN_TO_BE_PRESENT_MSVC
"mkstemp"
"mmap"
)

set(builtString "")
list(LENGTH HHVM_FUNCTIONS_TO_CHECK functionCount)
set(i 0)
Expand All @@ -86,12 +76,7 @@ function(HHVM_GENERATE_CONFIG_FUNCTIONS_FOUND_DEFINE_STRING destVarName)
if (${HAVE_${curFuncUpper}})
set(builtString "${builtString}\n#define HAVE_${curFuncUpper} 1")
else()
list(FIND HHVM_FUNCTIONS_KNOWN_TO_BE_PRESENT_MSVC "${curFunc}" curFuncIdx)
if (curFuncIdx EQUAL -1 OR NOT MSVC)
set(builtString "${builtString}\n/* #undef HAVE_${curFuncUpper} */")
else()
set(builtString "${builtString}\n#define HAVE_${curFuncUpper} 1 /* Implemented via Folly Portability header */")
endif()
set(builtString "${builtString}\n/* #undef HAVE_${curFuncUpper} */")
endif()
math(EXPR i "${i} + 1")
endwhile()
Expand Down
Loading
Loading