Commit c108f833 authored by Wez Furlong's avatar Wez Furlong Committed by Facebook Github Bot

getdeps: restructure bison+flex dependencies

Summary:
We've been squeaking by with assuming that flex is installed already
on posix systems, but that isn't the case on the github actions default
configuration.

Adjust the bison recipe: on windows it deploys both flex and bison.  We use the
same source for both flex and bison but install flex to a separate install
prefix to make it easier to consume the flex dependency distinct from the bison
dependency.

The latest flex release segfaults during compilation on linux unless we
force -DGNU_SOURCE, so the manifest does that on linux.

Reviewed By: simpkins

Differential Revision: D17385051

fbshipit-source-id: 9f31b07849af9de50099d1b20bedba517bbbdf2f
parent 691ed9ec
...@@ -19,4 +19,3 @@ builder = nop ...@@ -19,4 +19,3 @@ builder = nop
[install.files.os=windows] [install.files.os=windows]
data = bin/data data = bin/data
win_bison.exe = bin/bison.exe win_bison.exe = bin/bison.exe
win_flex.exe = bin/flex.exe
...@@ -11,6 +11,8 @@ repo_url = https://github.com/facebook/fbthrift.git ...@@ -11,6 +11,8 @@ repo_url = https://github.com/facebook/fbthrift.git
builder = cmake builder = cmake
[dependencies] [dependencies]
bison
flex
folly folly
wangle wangle
rsocket-cpp rsocket-cpp
...@@ -20,9 +22,6 @@ libsodium ...@@ -20,9 +22,6 @@ libsodium
googletest googletest
zstd zstd
[dependencies.any(os=windows, os=darwin)]
bison
[cmake.defines.test=on] [cmake.defines.test=on]
BUILD_TESTS=ON BUILD_TESTS=ON
......
[manifest]
name = flex
[download.not(os=windows)]
url = https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz
sha256 = e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995
[download.os=windows]
url = https://github.com/lexxmark/winflexbison/releases/download/v2.5.17/winflexbison-2.5.17.zip
sha256 = 3dc27a16c21b717bcc5de8590b564d4392a0b8577170c058729d067d95ded825
[build.not(os=windows)]
builder = autoconf
subdir = flex-2.6.4
[build.os=windows]
builder = nop
[install.files.os=windows]
data = bin/data
win_flex.exe = bin/flex.exe
# Moral equivalent to this PR that fixes a crash when bootstrapping flex
# on linux: https://github.com/easybuilders/easybuild-easyconfigs/pull/5792
[autoconf.args.os=linux]
CFLAGS=-D_GNU_SOURCE
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment