From 7bc7c06e6ad2663e7bd766308b9fbe2fb3514337 Mon Sep 17 00:00:00 2001 From: kjellander Date: Fri, 22 Apr 2016 04:57:49 -0700 Subject: [PATCH] Revert of Remove the rtc_relative_path GYP variable and similar defines (patchset #1 id:1 of https://codereview.webrtc.org/1903553003/ ) Reason for revert: Breaks downstream for SRTP include paths. Will rework this and reland without that one. Original issue's description: > Remove the rtc_relative_path GYP variable and similar defines > > The defines that can be used to alter the include paths for Expat, SRTP > and gtest are no longer needed in WebRTC or Chromium. Let's remove them > to simplify the GYP a little. > > Removed defines: > EXPAT_RELATIVE_PATH > GTEST_RELATIVE_PATH > SRTP_RELATIVE_PATH > > They're all set in the Chromium build so this shouldn't affect Chromium: > https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjingle/libjingle.gyp > > BUG=webrtc:4256 > NOTRY=True > NOPRESUBMIT=True > > Committed: https://crrev.com/e19cf59eb6ee44fd4d7e7fbcfdd1a6ea75063605 > Cr-Commit-Position: refs/heads/master@{#12467} TBR=pthatcher@webrtc.org,perkj@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:4256 Review URL: https://codereview.webrtc.org/1913043003 Cr-Commit-Position: refs/heads/master@{#12468} --- webrtc/base/base_tests.gyp | 8 ++++++++ webrtc/base/gunit.h | 4 ++++ webrtc/base/gunit_prod.h | 5 ++++- webrtc/build/common.gypi | 4 ++++ webrtc/libjingle/xmllite/xmlbuilder.h | 4 ++++ webrtc/libjingle/xmllite/xmlparser.h | 4 ++++ webrtc/libjingle/xmpp/xmppstanzaparser.cc | 4 ++++ webrtc/pc/externalhmac.cc | 5 +++++ webrtc/pc/externalhmac.h | 4 ++++ webrtc/pc/pc.gyp | 1 + webrtc/pc/srtpfilter.cc | 5 +++++ webrtc/pc/srtpfilter_unittest.cc | 4 ++++ webrtc/webrtc_tests.gypi | 3 +++ 13 files changed, 54 insertions(+), 1 deletion(-) diff --git a/webrtc/base/base_tests.gyp b/webrtc/base/base_tests.gyp index 11aea29afb..73eeb0dbaa 100644 --- a/webrtc/base/base_tests.gyp +++ b/webrtc/base/base_tests.gyp @@ -23,11 +23,19 @@ 'testechoserver.h', 'testutils.h', ], + 'defines': [ + 'GTEST_RELATIVE_PATH', + ], 'dependencies': [ 'base.gyp:rtc_base', '<(DEPTH)/testing/gtest.gyp:gtest', '<(webrtc_root)/test/test.gyp:field_trial', ], + 'direct_dependent_settings': { + 'defines': [ + 'GTEST_RELATIVE_PATH', + ], + }, 'export_dependent_settings': [ '<(DEPTH)/testing/gtest.gyp:gtest', ], diff --git a/webrtc/base/gunit.h b/webrtc/base/gunit.h index 986d4dcb62..1a6c36374e 100644 --- a/webrtc/base/gunit.h +++ b/webrtc/base/gunit.h @@ -13,7 +13,11 @@ #include "webrtc/base/logging.h" #include "webrtc/base/thread.h" +#if defined(GTEST_RELATIVE_PATH) #include "testing/gtest/include/gtest/gtest.h" +#else +#include "testing/base/public/gunit.h" +#endif // Wait until "ex" is true, or "timeout" expires. #define WAIT(ex, timeout) \ diff --git a/webrtc/base/gunit_prod.h b/webrtc/base/gunit_prod.h index 9850ed85d6..dc39bbd0eb 100644 --- a/webrtc/base/gunit_prod.h +++ b/webrtc/base/gunit_prod.h @@ -15,7 +15,10 @@ // Android doesn't use gtest at all, so anything that relies on gtest should // check this define first. #define NO_GTEST -#include "testing/gtest/include/gtest/gtest_prod.h" +#elif defined (GTEST_RELATIVE_PATH) +#include "gtest/gtest_prod.h" +#else +#include "testing/base/gunit_prod.h" #endif #endif // WEBRTC_BASE_GUNIT_PROD_H_ diff --git a/webrtc/build/common.gypi b/webrtc/build/common.gypi index 948cc8a9e9..f8446d9f91 100644 --- a/webrtc/build/common.gypi +++ b/webrtc/build/common.gypi @@ -64,6 +64,7 @@ 'webrtc_vp9_dir%': '<(webrtc_vp9_dir)', 'include_ilbc%': '<(include_ilbc)', 'include_opus%': '<(include_opus)', + 'rtc_relative_path%': 1, 'external_libraries%': '0', 'json_root%': '<(DEPTH)/third_party/jsoncpp/source/include/', # openssl needs to be defined or gyp will complain. Is is only used when @@ -237,6 +238,9 @@ ' #include "webrtc/libjingle/xmllite/xmlnsstack.h" +#ifdef EXPAT_RELATIVE_PATH #include "expat.h" +#else +#include "third_party/expat/v2_0_1/Source/lib/expat.h" +#endif // EXPAT_RELATIVE_PATH struct XML_ParserStruct; typedef struct XML_ParserStruct* XML_Parser; diff --git a/webrtc/libjingle/xmpp/xmppstanzaparser.cc b/webrtc/libjingle/xmpp/xmppstanzaparser.cc index 87398bcbba..035bb0b6f1 100644 --- a/webrtc/libjingle/xmpp/xmppstanzaparser.cc +++ b/webrtc/libjingle/xmpp/xmppstanzaparser.cc @@ -13,7 +13,11 @@ #include "webrtc/libjingle/xmllite/xmlelement.h" #include "webrtc/libjingle/xmpp/constants.h" #include "webrtc/base/common.h" +#ifdef EXPAT_RELATIVE_PATH #include "expat.h" +#else +#include "third_party/expat/v2_0_1/Source/lib/expat.h" +#endif namespace buzz { diff --git a/webrtc/pc/externalhmac.cc b/webrtc/pc/externalhmac.cc index 8eeec111b1..d88cfdc7ec 100644 --- a/webrtc/pc/externalhmac.cc +++ b/webrtc/pc/externalhmac.cc @@ -15,8 +15,13 @@ #include // For malloc/free. extern "C" { +#ifdef SRTP_RELATIVE_PATH +#include "crypto_kernel.h" // NOLINT +#include "srtp.h" // NOLINT +#else #include "third_party/libsrtp/srtp/crypto/include/crypto_kernel.h" #include "third_party/libsrtp/srtp/include/srtp.h" +#endif // SRTP_RELATIVE_PATH } #include "webrtc/base/logging.h" diff --git a/webrtc/pc/externalhmac.h b/webrtc/pc/externalhmac.h index d0e112c293..74652b0894 100644 --- a/webrtc/pc/externalhmac.h +++ b/webrtc/pc/externalhmac.h @@ -31,7 +31,11 @@ #include "webrtc/base/basictypes.h" extern "C" { +#ifdef SRTP_RELATIVE_PATH +#include "auth.h" // NOLINT +#else #include "third_party/libsrtp/srtp/crypto/include/auth.h" +#endif // SRTP_RELATIVE_PATH } #define EXTERNAL_HMAC_SHA1 HMAC_SHA1 + 1 diff --git a/webrtc/pc/pc.gyp b/webrtc/pc/pc.gyp index afe8cad0f0..b07f7b7263 100755 --- a/webrtc/pc/pc.gyp +++ b/webrtc/pc/pc.gyp @@ -10,6 +10,7 @@ 'includes': ['../build/common.gypi'], 'variables': { 'rtc_pc_defines': [ + 'SRTP_RELATIVE_PATH', 'HAVE_SCTP', 'HAVE_SRTP', ], diff --git a/webrtc/pc/srtpfilter.cc b/webrtc/pc/srtpfilter.cc index 7257debcaa..e8ea2890ed 100644 --- a/webrtc/pc/srtpfilter.cc +++ b/webrtc/pc/srtpfilter.cc @@ -27,8 +27,13 @@ #ifdef HAVE_SRTP extern "C" { +#ifdef SRTP_RELATIVE_PATH +#include "srtp.h" // NOLINT +#include "srtp_priv.h" // NOLINT +#else #include "third_party/libsrtp/srtp/include/srtp.h" #include "third_party/libsrtp/srtp/include/srtp_priv.h" +#endif // SRTP_RELATIVE_PATH } #ifdef ENABLE_EXTERNAL_AUTH #include "webrtc/pc/externalhmac.h" diff --git a/webrtc/pc/srtpfilter_unittest.cc b/webrtc/pc/srtpfilter_unittest.cc index 7990ef138f..2eee35c202 100644 --- a/webrtc/pc/srtpfilter_unittest.cc +++ b/webrtc/pc/srtpfilter_unittest.cc @@ -16,7 +16,11 @@ #include "webrtc/p2p/base/sessiondescription.h" #include "webrtc/pc/srtpfilter.h" extern "C" { +#ifdef SRTP_RELATIVE_PATH +#include "crypto/include/err.h" +#else #include "third_party/libsrtp/srtp/crypto/include/err.h" +#endif } using rtc::CS_AES_CM_128_HMAC_SHA1_80; diff --git a/webrtc/webrtc_tests.gypi b/webrtc/webrtc_tests.gypi index b44fa53fc8..229f7b6565 100644 --- a/webrtc/webrtc_tests.gypi +++ b/webrtc/webrtc_tests.gypi @@ -270,6 +270,9 @@ 'base/socketaddress_unittest.cc', 'base/virtualsocket_unittest.cc', ], + 'defines': [ + 'GTEST_RELATIVE_PATH', + ], 'dependencies': [ '<(DEPTH)/testing/gtest.gyp:gtest', 'base/base.gyp:rtc_base',