Address gcc build failures in some platforms
Seeing some failures on some platforms when compiled with clang disabled: GYP_DEFINES="clang=0" gclient runhooks Several changes to make it work: 1. Mark packager code with packager_code=1 in GYP definitions. 2. Disable a few checks in non-packager code, which we do not have direct control: dangling-else, deprecated-declarations, unused-function 3. Fix the relevant errors in packager code. 4. Revert HAVE_STROPTS_H in curl config which is not available in all linux distributions. Fixes #286 Fixes #293 Change-Id: I729b41f99403c5ad9487c6cc4a7dc06f6323cef8
This commit is contained in:
parent
e97c89391a
commit
8e96dd3b37
|
@ -56,8 +56,11 @@ if __name__ == '__main__':
|
|||
if [arg.endswith('.gyp') for arg in args].count(True) == 0:
|
||||
args.append(os.path.join(src_dir, 'packager.gyp'))
|
||||
|
||||
# Always include common.gypi.
|
||||
args.extend(['-I' + os.path.join(src_dir, 'build', 'common.gypi')])
|
||||
# Always include Chromium's common.gypi and our common.gypi.
|
||||
args.extend([
|
||||
'-I' + os.path.join(src_dir, 'build', 'common.gypi'),
|
||||
'-I' + os.path.join(src_dir, 'common.gypi')
|
||||
])
|
||||
|
||||
# Set these default GYP_DEFINES if user does not set the value explicitly.
|
||||
_DEFAULT_DEFINES = {'test_isolation_mode': 'noop',
|
||||
|
|
|
@ -8,38 +8,62 @@
|
|||
|
||||
{
|
||||
'variables': {
|
||||
# Compile as Chromium code to enable warnings and warnings-as-errors.
|
||||
'chromium_code': 1,
|
||||
'variables': {
|
||||
'shaka_code%': 0,
|
||||
},
|
||||
'shaka_code%': '<(shaka_code)',
|
||||
'libpackager_type%': 'static_library',
|
||||
'conditions': [
|
||||
['shaka_code==1', {
|
||||
# This enable warnings and warnings-as-errors.
|
||||
'chromium_code': 1,
|
||||
}],
|
||||
],
|
||||
},
|
||||
'target_defaults': {
|
||||
'include_dirs': [
|
||||
'.',
|
||||
'..',
|
||||
],
|
||||
'conditions': [
|
||||
['clang==1', {
|
||||
'cflags': [
|
||||
'-Wimplicit-fallthrough',
|
||||
['shaka_code==1', {
|
||||
'include_dirs': [
|
||||
'.',
|
||||
'..',
|
||||
],
|
||||
# Revert the relevant settings in Chromium's common.gypi.
|
||||
'cflags!': [
|
||||
'-Wno-char-subscripts',
|
||||
'-Wno-unneeded-internal-declaration',
|
||||
'-Wno-covered-switch-default',
|
||||
'conditions': [
|
||||
['clang==1', {
|
||||
'cflags': [
|
||||
'-Wimplicit-fallthrough',
|
||||
],
|
||||
# Revert the relevant settings in Chromium's common.gypi.
|
||||
'cflags!': [
|
||||
'-Wno-char-subscripts',
|
||||
'-Wno-unneeded-internal-declaration',
|
||||
'-Wno-covered-switch-default',
|
||||
|
||||
# C++11-related flags:
|
||||
'-Wno-c++11-narrowing',
|
||||
'-Wno-reserved-user-defined-literal',
|
||||
# C++11-related flags:
|
||||
'-Wno-c++11-narrowing',
|
||||
'-Wno-reserved-user-defined-literal',
|
||||
],
|
||||
}],
|
||||
['OS == "win"', {
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'WarnAsError': 'true',
|
||||
'DisableSpecificWarnings': ['4125']
|
||||
},
|
||||
},
|
||||
}],
|
||||
],
|
||||
}, {
|
||||
'conditions': [
|
||||
# We do not have control over non-shaka code. Disable some warnings to
|
||||
# make build pass.
|
||||
['clang==0', {
|
||||
'cflags': [
|
||||
'-Wno-dangling-else',
|
||||
'-Wno-deprecated-declarations',
|
||||
'-Wno-unused-function',
|
||||
],
|
||||
}],
|
||||
],
|
||||
}],
|
||||
['OS == "win"', {
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'WarnAsError': 'true',
|
||||
'DisableSpecificWarnings': ['4125']
|
||||
},
|
||||
},
|
||||
}],
|
||||
],
|
||||
},
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'file',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'hls_builder',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'ad_cue_generator',
|
||||
|
|
|
@ -603,8 +603,9 @@ TEST_P(AesCbcCryptorVerificationTest, EncryptDecryptTest) {
|
|||
|
||||
std::vector<uint8_t> plaintext;
|
||||
std::string plaintext_hex(GetParam().plaintext_hex);
|
||||
if (!plaintext_hex.empty())
|
||||
if (!plaintext_hex.empty()) {
|
||||
ASSERT_TRUE(base::HexStringToBytes(plaintext_hex, &plaintext));
|
||||
}
|
||||
|
||||
std::vector<uint8_t> expected_ciphertext;
|
||||
std::string expected_ciphertext_hex(GetParam().expected_ciphertext_hex);
|
||||
|
|
|
@ -112,8 +112,9 @@ class AesPatternCryptorVerificationTest
|
|||
TEST_P(AesPatternCryptorVerificationTest, PatternTest) {
|
||||
std::vector<uint8_t> text;
|
||||
std::string text_hex(GetParam().text_hex);
|
||||
if (!text_hex.empty())
|
||||
if (!text_hex.empty()) {
|
||||
ASSERT_TRUE(base::HexStringToBytes(text_hex, &text));
|
||||
}
|
||||
std::vector<uint8_t> expected_crypt_text;
|
||||
std::string expected_crypt_text_hex(GetParam().expected_crypt_text_hex);
|
||||
if (!expected_crypt_text_hex.empty()) {
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'media_base',
|
||||
|
|
|
@ -86,8 +86,9 @@ TEST_P(RsaKeyTest, LoadPrivateKeyInPublicKey) {
|
|||
TEST_P(RsaKeyTest, EncryptAndDecrypt) {
|
||||
std::string encrypted_message;
|
||||
EXPECT_TRUE(public_key_->Encrypt(test_set_.test_message, &encrypted_message));
|
||||
if (kIsFakePrngSupported)
|
||||
if (kIsFakePrngSupported) {
|
||||
EXPECT_EQ(test_set_.encrypted_message, encrypted_message);
|
||||
}
|
||||
|
||||
std::string decrypted_message;
|
||||
EXPECT_TRUE(private_key_->Decrypt(encrypted_message, &decrypted_message));
|
||||
|
@ -124,8 +125,9 @@ TEST_P(RsaKeyTest, SignAndVerify) {
|
|||
std::string signature;
|
||||
EXPECT_TRUE(
|
||||
private_key_->GenerateSignature(test_set_.test_message, &signature));
|
||||
if (kIsFakePrngSupported)
|
||||
if (kIsFakePrngSupported) {
|
||||
EXPECT_EQ(test_set_.signature, signature);
|
||||
}
|
||||
EXPECT_TRUE(public_key_->VerifySignature(test_set_.test_message, signature));
|
||||
}
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'chunking',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'codecs',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'crypto',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'demuxer',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'media_event',
|
||||
|
|
|
@ -166,8 +166,9 @@ class EsParserH26xTest : public testing::Test {
|
|||
void EmitSample(uint32_t pid, const std::shared_ptr<MediaSample>& sample) {
|
||||
size_t sample_id = sample_count_;
|
||||
sample_count_++;
|
||||
if (sample_count_ == 1)
|
||||
if (sample_count_ == 1) {
|
||||
EXPECT_TRUE(sample->is_key_frame());
|
||||
}
|
||||
|
||||
ASSERT_GT(samples_.size(), sample_id);
|
||||
const std::vector<uint8_t> sample_data(
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'mp2t',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'mp4',
|
||||
|
|
|
@ -191,10 +191,12 @@ bool TrackRunIterator::Init() {
|
|||
|
||||
// Check that total number of samples match.
|
||||
DCHECK_EQ(num_samples, decoding_time.NumSamples());
|
||||
if (has_composition_offset)
|
||||
if (has_composition_offset) {
|
||||
DCHECK_EQ(num_samples, composition_offset.NumSamples());
|
||||
if (num_chunks > 0)
|
||||
}
|
||||
if (num_chunks > 0) {
|
||||
DCHECK_EQ(num_samples, chunk_info.NumSamples(1, num_chunks));
|
||||
}
|
||||
DCHECK_GE(num_chunks, chunk_info.LastFirstChunk());
|
||||
|
||||
if (num_samples > 0) {
|
||||
|
|
|
@ -18,6 +18,8 @@ const int kSumAscending1 = 45;
|
|||
const int kAudioScale = 48000;
|
||||
const int kVideoScale = 25;
|
||||
|
||||
const uint8_t kFullSampleEncryptionFlag = 0;
|
||||
|
||||
const uint8_t kDefaultCryptByteBlock = 2;
|
||||
const uint8_t kDefaultSkipByteBlock = 8;
|
||||
|
||||
|
@ -478,8 +480,7 @@ TEST_F(TrackRunIteratorTest,
|
|||
iter_.reset(new TrackRunIterator(&moov_));
|
||||
|
||||
MovieFragment moof = CreateFragment();
|
||||
AddSampleEncryption(!SampleEncryption::kUseSubsampleEncryption,
|
||||
&moof.tracks[1]);
|
||||
AddSampleEncryption(kFullSampleEncryptionFlag, &moof.tracks[1]);
|
||||
|
||||
ASSERT_TRUE(iter_->Init(moof));
|
||||
// The run for track 2 will be the second, which is parsed according to
|
||||
|
@ -552,8 +553,7 @@ TEST_F(TrackRunIteratorTest,
|
|||
iter_.reset(new TrackRunIterator(&moov_));
|
||||
|
||||
MovieFragment moof = CreateFragment();
|
||||
AddSampleEncryptionWithConstantIv(!SampleEncryption::kUseSubsampleEncryption,
|
||||
&moof.tracks[1]);
|
||||
AddSampleEncryptionWithConstantIv(kFullSampleEncryptionFlag, &moof.tracks[1]);
|
||||
|
||||
ASSERT_TRUE(iter_->Init(moof));
|
||||
// The run for track 2 will be the second, which is parsed according to
|
||||
|
|
|
@ -224,8 +224,9 @@ TEST_F(EncryptedSegmenterTest, BasicSupport) {
|
|||
// There should be 2 segments with the first segment in clear and the second
|
||||
// segment encrypted.
|
||||
for (int i = 0; i < 5; i++) {
|
||||
if (i == 3)
|
||||
if (i == 3) {
|
||||
ASSERT_OK(segmenter_->FinalizeSegment(0, 3 * kDuration, !kSubsegment));
|
||||
}
|
||||
std::shared_ptr<MediaSample> sample =
|
||||
CreateSample(kKeyFrame, kDuration, kNoSideData);
|
||||
if (i >= 3) {
|
||||
|
|
|
@ -144,8 +144,9 @@ TEST_F(MultiSegmentSegmenterTest, SplitsFilesOnSegment) {
|
|||
|
||||
// Write the samples to the Segmenter.
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if (i == 5)
|
||||
if (i == 5) {
|
||||
ASSERT_OK(segmenter_->FinalizeSegment(0, 5 * kDuration, !kSubsegment));
|
||||
}
|
||||
std::shared_ptr<MediaSample> sample =
|
||||
CreateSample(kKeyFrame, kDuration, kNoSideData);
|
||||
ASSERT_OK(segmenter_->AddSample(*sample));
|
||||
|
@ -174,8 +175,9 @@ TEST_F(MultiSegmentSegmenterTest, SplitsClustersOnSubsegment) {
|
|||
|
||||
// Write the samples to the Segmenter.
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if (i == 5)
|
||||
if (i == 5) {
|
||||
ASSERT_OK(segmenter_->FinalizeSegment(0, 5 * kDuration, kSubsegment));
|
||||
}
|
||||
std::shared_ptr<MediaSample> sample =
|
||||
CreateSample(kKeyFrame, kDuration, kNoSideData);
|
||||
ASSERT_OK(segmenter_->AddSample(*sample));
|
||||
|
|
|
@ -175,8 +175,9 @@ TEST_F(SingleSegmentSegmenterTest, SplitsClustersOnSegment) {
|
|||
|
||||
// Write the samples to the Segmenter.
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if (i == 5)
|
||||
if (i == 5) {
|
||||
ASSERT_OK(segmenter_->FinalizeSegment(0, 5 * kDuration, !kSubsegment));
|
||||
}
|
||||
std::shared_ptr<MediaSample> sample =
|
||||
CreateSample(kKeyFrame, kDuration, kNoSideData);
|
||||
ASSERT_OK(segmenter_->AddSample(*sample));
|
||||
|
@ -199,8 +200,9 @@ TEST_F(SingleSegmentSegmenterTest, IgnoresSubsegment) {
|
|||
|
||||
// Write the samples to the Segmenter.
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if (i == 5)
|
||||
if (i == 5) {
|
||||
ASSERT_OK(segmenter_->FinalizeSegment(0, 5 * kDuration, kSubsegment));
|
||||
}
|
||||
std::shared_ptr<MediaSample> sample =
|
||||
CreateSample(kKeyFrame, kDuration, kNoSideData);
|
||||
ASSERT_OK(segmenter_->AddSample(*sample));
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'webm',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'webvtt',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'wvm',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'origin',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'public',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'replicator',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'run_tests_with_atexit_manager',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'trick_play',
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
# GYP file for any MPD generation targets.
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'media_info_proto',
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'libpackager',
|
||||
|
|
|
@ -647,7 +647,8 @@
|
|||
/* #undef HAVE_STRNICMP */
|
||||
|
||||
/* Define to 1 if you have the <stropts.h> header file. */
|
||||
#define HAVE_STROPTS_H 1
|
||||
/* Disabled for packager as it breaks some linux distros. */
|
||||
/* #undef HAVE_STROPTS_H */
|
||||
|
||||
/* Define to 1 if you have the strstr function. */
|
||||
#define HAVE_STRSTR 1
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../common.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'shaka_code': 1,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'version',
|
||||
|
|
Loading…
Reference in New Issue