rocksdb/build_tools
Peter Dillinger 6a171724b7 Clean up + fix build scripts re: USE_SSE= and PORTABLE= (#5800)
Summary:
In preparing to utilize a new Intel instruction extension, I
noticed problems with the existing build script in regard to the
existing utilized extensions, either with USE_SSE or PORTABLE flags.

* PORTABLE=0 was interpreted the same as PORTABLE=1. Now empty and 0
mean the same. (I guess you were not supposed to set PORTABLE= if you
wanted non-portable--except that...)
* The Facebook build script extensions would set PORTABLE=1 even if
it's already set in a make var or environment. Now it does not override
a non-empty setting, so use PORTABLE=0 for fully optimized build,
overriding Facebook environment default.
* Put in an explanation of the USE_SSE flag where it's used by
build_detect_platform, and cleaned up some confusing/redundant
associated logic.
* If USE_SSE was set and expected intrinsics were not available,
build_detect_platform would exit early but build would proceed with
broken, incomplete configuration. Now warning is gracefully recovered.
* If USE_SSE was set and expected intrinsics were not available,
build would still try to use flags like -msse4.2 etc. which could lead
to unexpected compilation failure or binary incompatibility. Now those
flags are not used if the warning is issued.

This should not break or change existing, valid build scripts.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5800

Test Plan: manual case testing

Differential Revision: D17369543

Pulled By: pdillinger

fbshipit-source-id: 4ee244911680ae71144d272c40aceea548e3ce88
2019-09-13 11:07:13 -07:00
..
RocksDBCommonHelper.php Fix spelling errors (#4827) 2019-01-02 11:17:57 -08:00
amalgamate.py Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
build_detect_platform Clean up + fix build scripts re: USE_SSE= and PORTABLE= (#5800) 2019-09-13 11:07:13 -07:00
cont_integration.sh Suppress lint in old files 2018-01-29 12:56:42 -08:00
dependencies.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
dependencies_4.8.1.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
dependencies_platform007.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
dockerbuild.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
error_filter.py Separate crash test with atomic flush (#4945) 2019-02-19 14:08:39 -08:00
fb_compile_mongo.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
fbcode_config.sh Clean up + fix build scripts re: USE_SSE= and PORTABLE= (#5800) 2019-09-13 11:07:13 -07:00
fbcode_config4.8.1.sh Clean up + fix build scripts re: USE_SSE= and PORTABLE= (#5800) 2019-09-13 11:07:13 -07:00
fbcode_config_platform007.sh Clean up + fix build scripts re: USE_SSE= and PORTABLE= (#5800) 2019-09-13 11:07:13 -07:00
format-diff.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
gnu_parallel Fix typos in comments (#4456) 2018-10-04 20:46:50 -07:00
make_package.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
precommit_checker.py Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
regression_build_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
rocksdb-lego-determinator Upload db directory during cleanup for certain tests (#5554) 2019-07-10 11:29:55 -07:00
run_ci_db_test.ps1 Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
setup_centos7.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
update_dependencies.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
version.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00