Commit Graph

268 Commits

Author SHA1 Message Date
James Zern
b867e42578 Makefile: add distclean target
wipes out configure generated files

Change-Id: I55d5865b84c6dfc19f13011e66e3483c54bf6a15
2014-03-05 19:15:00 -08:00
James Zern
805078a1bf build: convert rtcd.sh to perl
significantly speeds up file generation.

the goal of this change is to convert rtcd.sh to perl as directly as
possible to allow for simple comparison. future changes can make it more
perl-like.

---
Linux
    [CREATE] vpx_scale_rtcd.h
real    0m0.485s ->    0m0.022s
    [CREATE] vp8_rtcd.h
real    0m4.619s ->    0m0.060s
    [CREATE] vp9_rtcd.h
real    0m10.102s ->    0m0.087s

Windows
    [CREATE] vpx_scale_rtcd.h
real    0m8.360s ->    0m0.080s
    [CREATE] vp8_rtcd.h
real    1m8.083s ->    0m0.160s
    [CREATE] vp9_rtcd.h
real    2m6.489s ->    0m0.233s

Change-Id: Idfb71188206c91237d6a3c3a81dfe00d103f11ee
2014-03-03 14:47:11 -08:00
James Zern
b6941849cb normalize perl shebangs
don't require perl to be in a fixed location

Change-Id: Icc8b6113a2a3626f847fe46409334a03f1db5c85
2014-02-28 11:56:14 -08:00
James Zern
73c65b5781 Merge "rtcd.sh: sort functions by name" 2014-02-28 10:29:22 -08:00
James Zern
bd7467ddb6 rtcd.sh: sort functions by name
this will aid in output comparison with other generation systems

Change-Id: Ifb66321e45ab9fdd9eaeb5e0ea8b3d0632efe7ce
2014-02-27 20:03:46 -08:00
James Zern
707648c3cc configure: remove x86inc debug message
+ break long line

Change-Id: I12c1524451a7ce697128801a3328de318cfeabdc
2014-02-27 15:07:38 -08:00
James Zern
f0a6a604fc Merge "gen_msvs_vcxproj.sh: Avoid object name collisions." 2014-02-26 23:41:57 -08:00
James Zern
6859d0f0d0 fix vs9 build after obj_int_extract changes
broken since:
1d3ca08 obj_int_extract.bat: Pass obj_int_extract.exe path to obj_int_extract.bat.

Change-Id: Ic3de9f8c2b604e3aa9b905e1bc0b578963e01a4a
2014-02-23 16:08:00 -08:00
James Zern
dd18536563 Merge "gen_msvs_vcxproj.sh: Set TargetName instead of OutputFile." 2014-02-22 11:08:39 -08:00
Tom Finegan
1d3ca088f6 obj_int_extract.bat: Pass obj_int_extract.exe path to obj_int_extract.bat.
- Update the vcxproj generator to pass the path to the batch file.
- Update the batch file the take the path to obj_int_extract.exe as arg
  2.

Fixes this warning:
warning MSB8012: TargetPath does not match Linker's OutputFile property
value.

Change-Id: I5825f1d1d79f370aeb295bbd2aeb08b22c0e73ab
2014-02-20 22:20:58 -08:00
Tom Finegan
7f17b2e476 gen_msvs_vcxproj.sh: Set TargetName instead of OutputFile.
Set TargetName for library builds instead of changing the value of
OutputFile.

This fixes the following warnings:
warning MSB8012: TargetPath does not match Library's OutputFile property
value.

Change-Id: I4320b6d9ea922d3a15b9823c7c6694ee33edbf45
2014-02-20 14:51:05 -08:00
Tom Finegan
dbf6e3f3c8 gen_msvs_vcxproj.sh: Avoid object name collisions.
Fixes the following warning:
warning LNK4042: object specified more than once; extras ignored

Change-Id: Icee24073be774e7f7902587449fb90a42ab16b6f
2014-02-19 19:39:47 -08:00
Tom Finegan
7836e3a5d7 gen_msvs_vcxproj.sh: Add /arch:AVX for files using AVX.
Turns on AVX when the final characters of .c and .cc file names preceding the
.c and .cc file extension contain the substrings avx or avx2. This silences
many MSVC warnings issued during compilation files that use AVX.

Change-Id: I82bda394af7a688679abab2a50dd7e10b3cb0c7a
2014-02-12 14:22:36 -08:00
Johann
279dbb9a30 Merge "Skip COMDAT sections when parsing COFF" 2014-02-12 09:41:30 -08:00
James Zern
8fcac74256 configure: use -Werror when testing CXX flags w/clang
Change-Id: Ia7d827d391941b4b507e568c99cc83531273433c
2014-02-05 17:31:48 -08:00
James Zern
37114919e0 Merge "gen_msvs_proj: add trailing \ to IntDir" 2014-02-05 11:55:35 -08:00
Martin Storsjo
95eae0c468 ads2gas.pl: Don't require perl to be in a fixed location
This reduces the differences to ads2gas_apple.pl.

Change-Id: Ie30e369e3685b35485efe2296f7cdf91dafee1e7
2014-02-05 11:19:22 +02:00
Martin Storsjo
45c4533cc1 ads2gas_apple.pl: Reduce differences to ads2gas.pl
Avoid substitution of substrings by using \b to make sure the
substituted strings are at word boundaries.

This is an adaption of the corresponding changes to ads2gas.pl
from 7ebcaeb0fa.

Change-Id: I52160e8ba0373d4779d5fc3b0c384ca5c51c7b13
2014-02-05 11:19:11 +02:00
James Zern
95c34c9053 gen_msvs_proj: add trailing \ to IntDir
older versions of visual studio did not include the trailing \. this
moves the objects to their intended location: the project subdirectory

Change-Id: I244479cdebf6b3f03bed6dbfca82e7fb4542f0de
2014-02-04 20:42:03 -08:00
Rui Ueyama
25eeac0518 Skip COMDAT sections when parsing COFF
Fixes https://code.google.com/p/chromium/issues/detail?id=339889
when building Clang-based ASan on Windows

Change-Id: Ib77d9593636f46827dbb77f087d407ec0f463fc7
2014-02-04 07:56:52 -08:00
Johann
3b83a395da Correct OUTPUT_C_HEADER
OUTPUT_FMT_C_HEADER

Change-Id: Ic1a583352ead8268efc39f1b89257e9c622e1613
2014-01-28 15:57:33 -08:00
Tao Bai
6f00a46d44 Ouput symbols as c header file.
This is required by webrtc.

Change-Id: I32983597eb0f6797aeb0d93b65d8911989ba98ea
2014-01-27 11:11:47 -08:00
James Zern
d9a9c45b90 rtcd.sh: add extern "C" to generated headers
Change-Id: Ifb30518555402eb473c3fde81bc860fbe17851dd
2014-01-18 13:14:14 -08:00
Johann
dadf350551 Apply neon flags to intrinsic files
Filter out files ending in _neon.c and append .neon so the Android build
system knows to apply -mfpu=neon

Change-Id: Ib67277e5920bfcaeda7c4aa16cd1001b11d59305
2014-01-10 12:16:59 -08:00
Johann
87784e3a99 Include gen_msvs_vcxproj.sh
Change-Id: I28e9cf9347acd7279df3b841863a248479633265
2014-01-08 09:51:15 -08:00
Johann
195a085253 Remove yasm.rules dependency
The file was removed by 9152f4851d after
the solution files were changed.

Change-Id: I868c56fd609f45fb3e21afd085b9e6c268aac038
2014-01-06 15:12:42 -08:00
James Zern
934f0fbbcb obj_int_extract: fix compile warning
string literals should be returned as const char*

Change-Id: Iaab98711ed22f9c6eff1ca922c0576a1ff93a58f
2013-12-12 19:43:01 -08:00
Martin Storsjo
f0339cc9cf thumb: Fix a typo in a comment
Change-Id: Ic318be9d74a95793abc41501fe563164de53a6d7
2013-11-26 10:57:01 +02:00
Johann
e813843b46 Disable avx/avx2 for Visual Studio 2010
VS2010 only supports avx. There is currently no avx code
in libvpx so don't create a special case for it.

Change-Id: Iacb10ea4762155412e04f23904b4324d01451fbd
2013-11-18 13:30:19 -08:00
Yaowu Xu
c8e38a6c69 Merge "Add support for VC++2013" 2013-11-18 09:32:19 -08:00
Johann
16344c4a55 Generate GAS output for Chromium
Upstream changes to account for differences in clang
syntax for Chromium iOS builds.

Since most of these are incompatible with XCode clang,
hide them behind a flag.

Change-Id: Idafcbcd4eb01b1ada6277da2d2edfd6c04b579fd
2013-11-15 08:36:47 -08:00
Johann
5d0c33b8e5 Build iOS targets with XCode 5
Thanks to armando.dicianno for the patch

Fixes issue #603

Change-Id: I91ec030e5674b82c05115ed4dfbdb8ccbff22b66
2013-11-15 08:36:31 -08:00
Yaowu Xu
a638bdf4c4 Add support for VC++2013
Change-Id: Iccc15aacee1fee9995dfd974bc89913891ad67a9
2013-11-14 12:05:59 -08:00
Johann
53d797840e Split macro strings on whitespace
Match any whitespace instead of individual spaces. The macro
definitions in vp9/common/arm/neon/vp9_short_idct32x32_1_add_neon.asm
triggered this and treated spaces as arguments leading to lines like:
$8vld1$8.$88$8           {$8q8$8}, [$$89$8], $$8stride$8

Change-Id: I2d5718aba4614e4fd7b702e15c2a1bd80e656bd2
2013-11-12 14:24:58 -08:00
Yaowu Xu
9b744922dd disable avx/avx2 for old versions of MSVC
Change-Id: Ifb40757c9c6b353482cfeef929af282ee0136c6c
2013-11-06 12:29:48 -08:00
Erik Niemeyer
e6863ef318 CL for adding AVX-AVX2 support in libvpx.
Change-Id: Idc03f3fca4bf2d0afd33631ea1d3caf8fc34ec29
2013-10-29 15:11:16 -07:00
Yunqing Wang
51af8a5103 Adjust icc compiler options
"-no-prec-div" option helps codec performance, so it was added back.
"-no-intel-extensions" was added to suppress link warning #10237.
option '-use-asm' is deprecated and removed.

Tested icc 32bit build and 64bit build.

Change-Id: I736ec2619857efd425ef76338dc52f8fbc0bcc7e
2013-10-11 20:17:59 -07:00
Parag Salasakar
40edab5e39 mips dsp-ase r2 vp9 decoder convolve module optimizations
Change-Id: I401536778e3c68ba2b3ae3955c689d005e1f1d59
2013-10-02 16:58:37 -07:00
Martin Storsjo
e81a3ede4c thumb: Keep whitespace between arguments as before
Include the whitespace after the first argument's comma in the
optional first argument group.

This fixes a minor style regression in the converted output
since 2a233dd31.

Change-Id: I254f4aaff175e2d728d9b6f3c12ede03846adcf1
2013-09-29 21:32:46 +03:00
Jim Bankoski
6903efa93d Merge "mips dsp-ase r2 vp9 decoder extend module optimizations" 2013-09-29 10:31:09 -07:00
Jim Bankoski
b6c5dbe9ef mips dsp-ase r2 vp9 decoder extend module optimizations
Adopted again to shepherd through system.

Change-Id: If1b742618a95a2198ae2e30eec4b53ad1f7353e5
2013-09-29 10:27:11 -07:00
Jim Bankoski
437f63144a intel compiler build no longer supports -axSSE2 or -no-prec-div
Change-Id: Id129cf4021903c554ffdc57bf13df9fbb98f800e
2013-09-26 11:54:57 -07:00
Martin Storsjo
2a233dd31d thumb: Extend the regexp for handling negative register indexing
Now the same regexp that previously handled cases such as
"ldr r1, [r2, -r3]" also can handle the first operand being omitted
as in "pld [r2, -r3]".

This fixes building vp9_convolve8*neon.asm in thumb mode (and thus,
for Windows Phone as well).

Change-Id: I20c1c3f2bfb2587fb5fa523b863972a7fe30d8ff
2013-09-19 14:43:38 +03:00
James Zern
ccb6bdca75 configure: fix action expansion
enable|disable -> (enable|disable)_feature

Change-Id: I7494913c78ebe8bb532fa6545e0ae53a79ccd388
2013-08-21 19:00:08 -07:00
James Zern
42ab401fd3 configure: rename enable() to enable_feature()
+ disable() -> disable_feature() for balance

this avoids shadowing the bash builtin 'enable' allowing the scripts to
be linted with checkbashisms

Change-Id: Ia11cf86c92ec25bd14e69427b0ac0a9a61a5f7a5
2013-08-21 18:11:45 -07:00
Guillaume Martres
eb2fbea621 Get rid of bashisms in armlink_adapter.sh
Change-Id: If3cd84bb873fbad5622172c9b79ad8ae5485235a
2013-08-14 18:57:10 -07:00
Guillaume Martres
3526f1cd5e Get rid of bashisms in the main build scripts
The conversion was done with the help of the checkbashisms script
and https://wiki.ubuntu.com/DashAsBinSh .

Change-Id: Id64ecefb35c8d72302f343cd2ec442e7ef989d47
2013-08-13 18:48:35 -07:00
Jim Bankoski
a93b115cd6 reworked config for use_x86_inc
Support enabling it or disabling it.  Moved read out to configure.sh
so that its done once instead of in make and in config.

Change-Id: I73a9190cf31de9f03e8a577f478fa522f8c01c8b
2013-08-05 17:35:25 -07:00
Martin Storsjo
feefd81bd7 msvs: Generate proper configurations for mixed platforms
Prior to 73c4e284, the generated .sln files didn't contain any
information about the different configurations when using .vcxproj
project files. The MSVS IDE was able to fill this in just fine when
loaded though.

When building for ARM, the obj_int_extract project still is built
for x86, in order for the build process to be able to use
obj_int_extract.exe.

Now that configuration info is generated, it breaks current ARM
setups, since the configurations generated by gen_msvs_sln.sh only
included configurations from the last parsed project file (as
mentioned in the comment).

In these setups, the MSVS IDE generated a third meta-platform, called
"Mixed Platforms". This meta-platform points to either ARM or
Win32 as platform in each of the individual projects.

When the MSVS IDE generated this automatically, it also included
the original ARM and Win32 platforms as separate choices, but these
can be omitted since they don't make sense.

Change-Id: Ie25226496f91af4bb1ad8eb9ae9ca5bfed0433d7
2013-07-24 23:10:00 +03:00
James Zern
32bca36f51 Merge "configure: default configure log to config.log" 2013-07-22 12:55:29 -07:00