platform/upstream/orc.git
3 years agoaarch64: implement emits for some vector instructions and ORC ops (add)
Dongju Chae [Mon, 21 Oct 2019 11:18:35 +0000 (20:18 +0900)]
aarch64: implement emits for some vector instructions and ORC ops (add)

This commit implements vector load/store/add instructions and ORC 'add' ops.
They reuse existing macros like 'BINARY', and aarch64-specific arguments are added.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years agoaarch64: implement emits for general instructions
Dongju Chae [Mon, 21 Oct 2019 10:48:49 +0000 (19:48 +0900)]
aarch64: implement emits for general instructions

This commit implement emits for general instructions.
Also, it defines a bunch of macros that can be used in orcprogram-neon.c

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years agoaarch64: make some setups for aarch64 support
Dongju Chae [Mon, 21 Oct 2019 10:31:14 +0000 (19:31 +0900)]
aarch64: make some setups for aarch64 support

This commit adds the setup codes for aarch64 support including meson build and aarch64 selection.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years agomeson: Get rid of outdated version_compare checks
Nirbheek Chauhan [Wed, 1 Jul 2020 01:51:30 +0000 (07:21 +0530)]
meson: Get rid of outdated version_compare checks

3 years agoci: Also pass --fatal-meson-warnings
Nirbheek Chauhan [Wed, 1 Jul 2020 00:38:19 +0000 (06:08 +0530)]
ci: Also pass --fatal-meson-warnings

To ensure that warnings don't sneak in.

3 years agomeson: Bump version to 0.54 to fix warnings
Nirbheek Chauhan [Wed, 1 Jul 2020 00:45:16 +0000 (06:15 +0530)]
meson: Bump version to 0.54 to fix warnings

3 years agoRelease 0.4.32
Tim-Philipp Müller [Fri, 11 Sep 2020 09:30:15 +0000 (10:30 +0100)]
Release 0.4.32

Fixes #31

3 years agoci: Add an Android arm64 job run on Fedora
Nirbheek Chauhan [Mon, 31 Aug 2020 08:20:28 +0000 (13:50 +0530)]
ci: Add an Android arm64 job run on Fedora

Uses the same image as the android examples job on the cerbero CI.

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/51>

3 years agoci: Add iOS CI with a dynamic cross file
Nirbheek Chauhan [Mon, 31 Aug 2020 07:38:05 +0000 (13:08 +0530)]
ci: Add iOS CI with a dynamic cross file

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/51>

3 years agoci: Use the latest meson syntax
Nirbheek Chauhan [Mon, 31 Aug 2020 06:57:01 +0000 (12:27 +0530)]
ci: Use the latest meson syntax

Also rename macos job for consistency. Install ninja using pip on
Windows to workaround https://github.com/mesonbuild/meson/pull/7669

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/51>

3 years agoci: Use werror on macOS too
Nirbheek Chauhan [Mon, 31 Aug 2020 07:28:24 +0000 (12:58 +0530)]
ci: Use werror on macOS too

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/51>

3 years agomeson: Use pkgconfig.generate
Jan Alexander Steffens (heftig) [Tue, 28 Jul 2020 14:19:23 +0000 (16:19 +0200)]
meson: Use pkgconfig.generate

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/49>

3 years agoci: mark the msys job as manual and allowed to fail
Jordan Petridis [Wed, 29 Jul 2020 11:59:00 +0000 (11:59 +0000)]
ci: mark the msys job as manual and allowed to fail

the msys setup is not deterministic due to issues with msys installation,
so it keeps breaking every now and then.

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/48>

4 years agoorc: Use page size aligned memory block for Windows
Seungha Yang [Tue, 28 Jul 2020 09:00:09 +0000 (18:00 +0900)]
orc: Use page size aligned memory block for Windows

VirtualProtect will change protection attribute of all memory range
which belong to the same page range.

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/48>

4 years agoorc: Remove trailing white spaces
Seungha Yang [Tue, 28 Jul 2020 09:00:38 +0000 (18:00 +0900)]
orc: Remove trailing white spaces

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/48>

4 years agoci: add basic macOS CI
Tim-Philipp Müller [Mon, 20 Jul 2020 23:19:13 +0000 (00:19 +0100)]
ci: add basic macOS CI

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/46>

4 years agomeson: use / instead of join_paths() for readability
Tim-Philipp Müller [Tue, 21 Jul 2020 09:20:03 +0000 (10:20 +0100)]
meson: use / instead of join_paths() for readability

4 years agoci: run benchmark tests as well
Tim-Philipp Müller [Tue, 21 Jul 2020 00:19:01 +0000 (01:19 +0100)]
ci: run benchmark tests as well

4 years agomeson: hook up benchmark as benchmark
Tim-Philipp Müller [Tue, 21 Jul 2020 00:16:47 +0000 (01:16 +0100)]
meson: hook up benchmark as benchmark

4 years agobenchmorc: fix file path to test orc file on windows
Tim-Philipp Müller [Mon, 20 Jul 2020 23:48:48 +0000 (00:48 +0100)]
benchmorc: fix file path to test orc file on windows

Fix compiler warning on msys2:
enchmorc.c:35:31: error: unknown escape sequence: '\o'

The absolute path returned by current_source_dir()
returns backward slashes, which don't work well when
used as a C string constant. join_paths() will make
it all forward-slashes.

4 years agoorcc: use #pragma once in generated headers
Tim-Philipp Müller [Sat, 4 Jul 2020 10:49:09 +0000 (11:49 +0100)]
orcc: use #pragma once in generated headers

Simplifies code and removes build path fragments from
generated file (paths may be different if generated
in a gst-build setup).

There shouldn't be any portability issues with this. Meson
has been using this in its generated config.h for years.

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/45>

4 years agoorc: Don't set memory protection if there's no code
Nirbheek Chauhan [Thu, 2 Jul 2020 09:32:57 +0000 (15:02 +0530)]
orc: Don't set memory protection if there's no code

If the size of the JIT code is 0, there's no code and the *mem is
uninitialized. This can happen when orcc.exe is used to generate
backup C code.

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/44>

4 years agoorc: Print hex value directly instead of a constant
Nirbheek Chauhan [Thu, 2 Jul 2020 09:32:12 +0000 (15:02 +0530)]
orc: Print hex value directly instead of a constant

This is actually more useful because the constants are all bitfields
and it's fairly straightforward to look it up:

https://docs.microsoft.com/en-us/windows/win32/memory/memory-protection-constants

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/44>

4 years agoorc: Fix indentation
Nirbheek Chauhan [Thu, 2 Jul 2020 09:31:40 +0000 (15:01 +0530)]
orc: Fix indentation

Only whitespace changes.

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/44>

4 years agoci: Attempt to fix broken Windows CI
Nirbheek Chauhan [Tue, 30 Jun 2020 11:14:59 +0000 (16:44 +0530)]
ci: Attempt to fix broken Windows CI

https://gitlab.freedesktop.org/nirbheek/orc/-/pipelines/169274

Update to latest image and use the gstreamer runner tag. Matches the
gst-ci template.

Also try to make MSYS2 CI more resilient by following:
https://github.com/msys2/setup-msys2/blob/master/main.js#L98

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/42>

4 years agoorc: Fix some warnings on MSVC and enable --werror
Nirbheek Chauhan [Tue, 30 Jun 2020 11:42:54 +0000 (17:12 +0530)]
orc: Fix some warnings on MSVC and enable --werror

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/42>

4 years agoorccodemem: Add support for Universal Windows Platform apps
Nirbheek Chauhan [Tue, 30 Jun 2020 10:46:39 +0000 (16:16 +0530)]
orccodemem: Add support for Universal Windows Platform apps

VirtualAlloc is VirtualAllocFromApp when targeting UWP, and you can
only allocate executable pages if you have the codeGeneration
capability set in the app manifest. Check for that capability in
_orc_compiler_init() and switch to backup code or emulation if it
isn't available instead of crashing when VirtualAllocFromApp
returns NULL.

Also you cannot allocate pages that are both READWRITE and EXECUTE, so
we allocate as read-write first, then set the memory as execute-only
after the code has been compiled and copied over.

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/42>

4 years agoorc: Implement a windows helper for getenv()
Nirbheek Chauhan [Tue, 30 Jun 2020 10:00:35 +0000 (15:30 +0530)]
orc: Implement a windows helper for getenv()

On Windows, getenv() is deprecated and does not work in all cases. On
the Universal Windows Platform (UWP) it always returns NULL. Add
a wrapper orc_getenv() that calls GetEnvironmentVariable on Windows.

Also change semantics to always make a copy before returning.

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/42>

4 years agomeson: improve summary() printout
Tim-Philipp Müller [Fri, 13 Mar 2020 12:29:12 +0000 (12:29 +0000)]
meson: improve summary() printout

Pass bool_yn kwarg to summary() to make it
print boolean arguments as nice coloured YES/NO
instead of true/false.

We can also pass multiple arguments like a bool
and a disabled_reason string. In meson 0.54 these
can be printed on one line if we set the line_sep
kwarg. In meson 0.53 these will always be printed
on two lines (and it will warn about the line_sep
arg), so only pass two args if docs are disabled
and otherwise just pass one arg, so we don't end
up with an ugly empty line with meson 0.53.

4 years agomeson: add summary() if Meson version is new enough
Tim-Philipp Müller [Fri, 7 Feb 2020 15:53:29 +0000 (15:53 +0000)]
meson: add summary() if Meson version is new enough

4 years agoci: update windows runner tag and image
Tim-Philipp Müller [Sat, 8 Feb 2020 00:17:22 +0000 (00:17 +0000)]
ci: update windows runner tag and image

4 years agoRelease 0.4.31
Sebastian Dröge [Sat, 2 Nov 2019 09:24:17 +0000 (10:24 +0100)]
Release 0.4.31

4 years agoneon: Enable Flush-to-zero mode for float programs
Doug Nazar [Fri, 20 Sep 2019 08:56:35 +0000 (04:56 -0400)]
neon: Enable Flush-to-zero mode for float programs

Some of the instructions are not NEON (which always uses FTZ),
but are actually VFP, which requires enabling FTZ mode.

4 years agopowerpc: Fix a few opcodes to support x2/x4 usage
Doug Nazar [Fri, 20 Sep 2019 08:51:42 +0000 (04:51 -0400)]
powerpc: Fix a few opcodes to support x2/x4 usage

4 years agopowerpc: Fix a few rules to handle multiple vector elements
Doug Nazar [Sat, 14 Sep 2019 01:07:35 +0000 (21:07 -0400)]
powerpc: Fix a few rules to handle multiple vector elements

4 years agopowerpc: Add manual denormalize support for vsx instructions
Doug Nazar [Sat, 14 Sep 2019 00:53:50 +0000 (20:53 -0400)]
powerpc: Add manual denormalize support for vsx instructions

The VSX vector instructions don't support automatically treating source
denormalized FP numbers as 0 or converting the denormalized results
to zero.

4 years agotestsuite: Reduce memcpy_speed loops
Doug Nazar [Sat, 14 Sep 2019 00:24:28 +0000 (20:24 -0400)]
testsuite: Reduce memcpy_speed loops

Even with the PowerPC copy improvements we still exceed the 30s
time limit.

Power8 has an 8MB L3 cache, resulting in a total copy of ~9GB.

Before PowerPC copy: ~48s
 After PowerPC copy: ~38s
                now: ~18s

4 years agopowerpc: Add custom handling of copy programs
Doug Nazar [Sat, 14 Sep 2019 00:17:47 +0000 (20:17 -0400)]
powerpc: Add custom handling of copy programs

Provides ~20x speedup for fulling aligned buffers, although still
slower than builtin memcpy.

4 years agopowerpc: Move load/store align helpers to common file
Doug Nazar [Fri, 13 Sep 2019 23:52:58 +0000 (19:52 -0400)]
powerpc: Move load/store align helpers to common file

4 years agopowerpc: Improve constant handling
Doug Nazar [Fri, 13 Sep 2019 23:42:58 +0000 (19:42 -0400)]
powerpc: Improve constant handling

Some of the constants are used by the invariants so add them to
the precheck and then load constants first.

4 years agopowerpc: Fix register order of a few emit helpers
Doug Nazar [Fri, 13 Sep 2019 23:32:24 +0000 (19:32 -0400)]
powerpc: Fix register order of a few emit helpers

Two emit helpers had their parameters in the wrong location in
the generated opcode. Hasn't mattered because they were using
the same register for source & dest.

Constant flags are now at the end, so the label should be marked
forward, not backward.

4 years agotestsuite: Return error from exec_parse if a program fails
Doug Nazar [Fri, 13 Sep 2019 23:22:04 +0000 (19:22 -0400)]
testsuite: Return error from exec_parse if a program fails

4 years agoorctest: Fix parentheses location in ULP test
Doug Nazar [Fri, 13 Sep 2019 23:15:47 +0000 (19:15 -0400)]
orctest: Fix parentheses location in ULP test

4 years agoFix OrcTargetPowerPCFlags enum typedef
Pablo Marcos Oltra [Tue, 10 Sep 2019 15:36:51 +0000 (17:36 +0200)]
Fix OrcTargetPowerPCFlags enum typedef

4 years agoBack to development
Sebastian Dröge [Mon, 9 Sep 2019 07:27:32 +0000 (10:27 +0300)]
Back to development

4 years agoRelease 0.4.30
Sebastian Dröge [Mon, 9 Sep 2019 07:21:29 +0000 (10:21 +0300)]
Release 0.4.30

4 years agopowerpc: Use extended mnemonic for load immediate
Doug Nazar [Wed, 28 Aug 2019 14:30:12 +0000 (10:30 -0400)]
powerpc: Use extended mnemonic for load immediate

4 years agopowerpc: Add double & quad operands for vsx/v2.07 compatible cpus
Doug Nazar [Wed, 28 Aug 2019 14:28:39 +0000 (10:28 -0400)]
powerpc: Add double & quad operands for vsx/v2.07 compatible cpus

4 years agopowerpc: Fix cpu feature detection
Doug Nazar [Wed, 28 Aug 2019 14:23:31 +0000 (10:23 -0400)]
powerpc: Fix cpu feature detection

Fix meson cpu family detection.
Actually call cpu detection from progam init.
Add VSX & v2.07 checks for linux with options to diable.
Add display of target flags & cache sizes.

4 years agoDrop support for Autotools as build system
Tim-Philipp Müller [Fri, 19 Apr 2019 23:22:51 +0000 (00:22 +0100)]
Drop support for Autotools as build system

4 years agotests: Allow exec testing of single opcode
Doug Nazar [Wed, 28 Aug 2019 14:05:21 +0000 (10:05 -0400)]
tests: Allow exec testing of single opcode

4 years agotests: Use correct double/int64 functions for parameters & consts
Doug Nazar [Wed, 28 Aug 2019 14:00:33 +0000 (10:00 -0400)]
tests: Use correct double/int64 functions for parameters & consts

4 years agoexecutor: x2 union members not endian safe
Doug Nazar [Wed, 28 Aug 2019 13:55:26 +0000 (09:55 -0400)]
executor: x2 union members not endian safe

4 years agopowerpc: Pre-load long constants & invariants
Doug Nazar [Sun, 25 Aug 2019 19:50:15 +0000 (15:50 -0400)]
powerpc: Pre-load long constants & invariants

PowerPC doesn't have an easy way to load a long constant into a
vector register so we emit the value into the code and then load it.

This moves those values to after the epilogue and then loads them
before starting the outer loop.

4 years agoorc: Consolidate orc_program_has_float()
Doug Nazar [Sun, 25 Aug 2019 19:41:59 +0000 (15:41 -0400)]
orc: Consolidate orc_program_has_float()

4 years agoorc: Make orc_*_emit_invariants() generic
Doug Nazar [Sun, 25 Aug 2019 18:50:11 +0000 (14:50 -0400)]
orc: Make orc_*_emit_invariants() generic

Move mmx/sse emit invariant function to orcompiler so it can
be used on other architectures.

4 years agoorccodemem: Mark exec mapping writable if debugging
Doug Nazar [Sun, 25 Aug 2019 18:27:23 +0000 (14:27 -0400)]
orccodemem: Mark exec mapping writable if debugging

gdb needs the mapping to be writable to set breakpoints.

4 years agoorctest: Fix ULP compare and make compatible with clang
Doug Nazar [Sat, 31 Aug 2019 15:08:58 +0000 (11:08 -0400)]
orctest: Fix ULP compare and make compatible with clang

4 years agobuild: fix werror build with clang
Matthew Waters [Tue, 27 Aug 2019 01:36:49 +0000 (11:36 +1000)]
build: fix werror build with clang

../subprojects/orc/orc-test/orcarray.c:230:47: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]
          if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint32 *)&a[i] - *(orc_uint32 *)&b[i]) <= 2) continue;
                                              ^
../subprojects/orc/orc-test/orcarray.c:230:47: note: remove the call to 'abs' since unsigned values cannot be negative
          if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint32 *)&a[i] - *(orc_uint32 *)&b[i]) <= 2) continue;
                                              ^~~
../subprojects/orc/orc-test/orcarray.c:247:47: error: taking the absolute value of unsigned type 'unsigned long' has no effect [-Werror,-Wabsolute-value]
          if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint64 *)&a[i] - *(orc_uint64 *)&b[i]) <= 2) continue;
                                              ^
../subprojects/orc/orc-test/orcarray.c:247:47: note: remove the call to 'abs' since unsigned values cannot be negative
          if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint64 *)&a[i] - *(orc_uint64 *)&b[i]) <= 2) continue;
                                              ^~~
../subprojects/orc/orc-test/orctest.c:525:63: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]
      if ((*(float *)ptr1 < 0.0) == (*(float *)ptr2 < 0.0) && abs(*(orc_uint32 *)ptr1 - *(orc_uint32 *)ptr2) <= 2) return TRUE;
                                                              ^
../subprojects/orc/orc-test/orctest.c:525:63: note: remove the call to 'abs' since unsigned values cannot be negative
      if ((*(float *)ptr1 < 0.0) == (*(float *)ptr2 < 0.0) && abs(*(orc_uint32 *)ptr1 - *(orc_uint32 *)ptr2) <= 2) return TRUE;
                                                              ^~~
../subprojects/orc/orc-test/orctest.c:530:65: error: taking the absolute value of unsigned type 'unsigned long' has no effect [-Werror,-Wabsolute-value]
      if ((*(double *)ptr1 < 0.0) == (*(double *)ptr2 < 0.0) && abs(*(orc_uint64 *)ptr1 - *(orc_uint64 *)ptr2) <= 2) return TRUE;
                                                                ^
../subprojects/orc/orc-test/orctest.c:530:65: note: remove the call to 'abs' since unsigned values cannot be negative
      if ((*(double *)ptr1 < 0.0) == (*(double *)ptr2 < 0.0) && abs(*(orc_uint64 *)ptr1 - *(orc_uint64 *)ptr2) <= 2) return TRUE;
                                                                ^~~

4 years agopowerpc: Add little endian support
Doug Nazar [Tue, 20 Aug 2019 08:50:56 +0000 (04:50 -0400)]
powerpc: Add little endian support

4 years agopowerpc: Fix whitespace
Doug Nazar [Tue, 20 Aug 2019 08:38:39 +0000 (04:38 -0400)]
powerpc: Fix whitespace

4 years agoorc: Add ORC_LIKELY/ORC_UNLIKELY macros
Doug Nazar [Sun, 18 Aug 2019 15:50:44 +0000 (11:50 -0400)]
orc: Add ORC_LIKELY/ORC_UNLIKELY macros

4 years agomeson: Fix ppc/ppc64 cpu family detection
Doug Nazar [Sun, 18 Aug 2019 15:48:10 +0000 (11:48 -0400)]
meson: Fix ppc/ppc64 cpu family detection

4 years agoorctest: print_array_val_float return value not used
Doug Nazar [Sun, 18 Aug 2019 15:47:06 +0000 (11:47 -0400)]
orctest: print_array_val_float return value not used

4 years agoadd Hygon Dhyana processor support
fanjinke [Tue, 7 May 2019 15:48:37 +0000 (23:48 +0800)]
add Hygon Dhyana processor support

Signed-off-by: fanjinke <fanjinke@hygon.cn>
4 years agotests: Use float constants and parameters when testing float opcodes.
Doug Nazar [Tue, 13 Aug 2019 19:38:55 +0000 (15:38 -0400)]
tests: Use float constants and parameters when testing float opcodes.

4 years agoorcarm: Fix flushing of icache when using dual map
Doug Nazar [Wed, 7 Aug 2019 01:44:02 +0000 (21:44 -0400)]
orcarm: Fix flushing of icache when using dual map

On a codemem_dual_map setup, we need to also flush the PROT_EXEC alias.

4 years agoorctest: Switch nearby float comparison to ULP method
Doug Nazar [Wed, 7 Aug 2019 04:11:35 +0000 (00:11 -0400)]
orctest: Switch nearby float comparison to ULP method

4 years agodoc: fix gtkdoc when orc is used as a subproject
Mathieu Duponchelle [Fri, 2 Aug 2019 16:41:52 +0000 (18:41 +0200)]
doc: fix gtkdoc when orc is used as a subproject

meson.source_root() will point to the root of the top level
project, and should not be used to compute paths in the current
project.

5 years agox86: add endbr32 and endbr64 instructions
Wim Taymans [Fri, 19 Jul 2019 14:18:04 +0000 (16:18 +0200)]
x86: add endbr32 and endbr64 instructions

Issue endbr instructions at the start of generated functions to
make IBT (indirect branch tracking) work.

Resolves #17

5 years agoci: run tests on windows
Tim-Philipp Müller [Tue, 23 Jul 2019 23:26:32 +0000 (00:26 +0100)]
ci: run tests on windows

5 years agoAdd Windows CI for msvc 2017 and msys2
Jordan Petridis [Thu, 11 Jul 2019 04:48:08 +0000 (07:48 +0300)]
Add Windows CI for msvc 2017 and msys2

Currently the container is based upon a windows 1607 image
and requires a runner with a server/hyper-v 1607 host
to be able to execute.

There are plan on moving the runner to a 1807 later.

5 years agouwp: workaround a false positive in certification of orc
Nirbheek Chauhan [Tue, 7 May 2019 14:48:34 +0000 (20:18 +0530)]
uwp: workaround a false positive in certification of orc

It seems that the Windows App Certification Kit searches all files and
binaries for the regex '\<reg\>' (or something like it) and throws
errors if it exists. Supposedly this is for preventing apps from
running REG.EXE

https://blogs.msdn.microsoft.com/appconsult/2017/08/16/how-to-validate-if-your-application-is-compliant-with-the-windows-store-polices-windows-10-and-windows-10-s/

5 years agoMeson: Do not always generate static library
Xavier Claessens [Fri, 12 Apr 2019 15:34:33 +0000 (11:34 -0400)]
Meson: Do not always generate static library

Since Meson 0.46.0 'default_library' can be set to 'both' when user
wants both shared and static libraries.

5 years agoBack to development
Tim-Philipp Müller [Mon, 15 Apr 2019 08:27:24 +0000 (09:27 +0100)]
Back to development

5 years agoRelease 0.4.29
Tim-Philipp Müller [Sun, 14 Apr 2019 22:47:03 +0000 (23:47 +0100)]
Release 0.4.29

5 years agoorc: fix C++ style comment
Tim-Philipp Müller [Fri, 22 Mar 2019 19:36:24 +0000 (19:36 +0000)]
orc: fix C++ style comment

5 years agoconfigure.ac: no more bugzilla
Tim-Philipp Müller [Tue, 5 Mar 2019 14:21:04 +0000 (14:21 +0000)]
configure.ac: no more bugzilla

5 years agoUpdate news file for upcoming release
Tim-Philipp Müller [Tue, 5 Mar 2019 13:52:54 +0000 (13:52 +0000)]
Update news file for upcoming release

5 years agoAdd pkg-config file for orc-test library
Tim-Philipp Müller [Tue, 5 Mar 2019 11:05:43 +0000 (11:05 +0000)]
Add pkg-config file for orc-test library

Fixes #16

5 years agoFix warnings with Cerbero's mingw (gcc 4.7)
Nirbheek Chauhan [Tue, 5 Feb 2019 13:29:11 +0000 (18:59 +0530)]
Fix warnings with Cerbero's mingw (gcc 4.7)

orcutils.h:59:38: error: "__STDC_VERSION__" is not defined [-Werror=undef]

5 years agomeson: Make orcc detectable from other subprojects
Seungha Yang [Mon, 28 Jan 2019 13:12:46 +0000 (22:12 +0900)]
meson: Make orcc detectable from other subprojects

If we are a subproject (e.g., gst-build), this can make it possible
to use orcc by other subprojects.

5 years agoPowerPC: Support ELFv2 ABI
A. Wilcox [Tue, 10 Jul 2018 02:18:07 +0000 (21:18 -0500)]
PowerPC: Support ELFv2 ABI

The ELFv2 ABI does not use function descriptors.  This change has been
tested on Power Mac G5, IBM POWER6, and Raptor Talos II, all using the
musl libc on Linux kernel 4.14.

5 years agoAdd support for ppc64le
Michel Normand [Mon, 2 Mar 2015 11:14:03 +0000 (12:14 +0100)]
Add support for ppc64le

Fixes https://gitlab.freedesktop.org/gstreamer/orc/issues/6

5 years agoci: add minimal ci
Tim-Philipp Müller [Wed, 2 Jan 2019 00:47:42 +0000 (00:47 +0000)]
ci: add minimal ci

5 years agoorc: Remove dead assignments
Edward Hervey [Mon, 17 Dec 2018 10:26:21 +0000 (11:26 +0100)]
orc: Remove dead assignments

All those temporary registry were not used and instead were being
assigned constant values.

5 years agomeson: Maintain macOS ABI compatibility
Nirbheek Chauhan [Wed, 14 Nov 2018 09:49:42 +0000 (15:19 +0530)]
meson: Maintain macOS ABI compatibility

Need to use the correct dylib versioning.

5 years agomeson: add option to disable orc-test library
Tim-Philipp Müller [Sat, 6 Oct 2018 12:04:01 +0000 (13:04 +0100)]
meson: add option to disable orc-test library

https://bugzilla.gnome.org/show_bug.cgi?id=736785

5 years agomeson: rename "enable-backend" option to "orc-backend"
Tim-Philipp Müller [Wed, 3 Oct 2018 09:31:47 +0000 (10:31 +0100)]
meson: rename "enable-backend" option to "orc-backend"

More consistent with the Meson option naming conventions.

5 years agomeson: add options to disable benchmarks, examples, tools
Tim-Philipp Müller [Wed, 3 Oct 2018 08:28:53 +0000 (09:28 +0100)]
meson: add options to disable benchmarks, examples, tools

Like we have in other modules.

5 years agomeson: make "tests" option an auto feature option
Tim-Philipp Müller [Wed, 3 Oct 2018 08:13:31 +0000 (09:13 +0100)]
meson: make "tests" option an auto feature option

Consistent with the rest of GStreamer and gst-build.

5 years agomeson: rename 'disable_gtkdoc' option to 'gtk_doc' and make it an auto/feature option
Tim-Philipp Müller [Mon, 30 Jul 2018 09:06:04 +0000 (10:06 +0100)]
meson: rename 'disable_gtkdoc' option to 'gtk_doc' and make it an auto/feature option

5 years agomeson: rename option disable_tests=false -> tests=true
Tim-Philipp Müller [Mon, 30 Jul 2018 08:56:14 +0000 (09:56 +0100)]
meson: rename option disable_tests=false -> tests=true

Bring it in line with convention.

6 years agomeson: Bump required version to 0.46
Nicolas Dufresne [Sun, 22 Jul 2018 13:53:39 +0000 (09:53 -0400)]
meson: Bump required version to 0.46

6 years agomeson: pass the right header when testing for posix_memalign
Christoph Reiter [Mon, 21 May 2018 15:06:12 +0000 (17:06 +0200)]
meson: pass the right header when testing for posix_memalign

has_function() needs to know the header to correctly detect the function in
all cases.

This fixes the build under mingw-w64 where posix_memalign was wrongfully being
detected as available.

See this glib bug for a similar fix:
    https://bugzilla.gnome.org/show_bug.cgi?id=795876

https://bugzilla.gnome.org/show_bug.cgi?id=796309

6 years agoFix MSVC compiler warning
Tim-Philipp Müller [Fri, 18 May 2018 08:49:01 +0000 (09:49 +0100)]
Fix MSVC compiler warning

The isnan() macro was redefined to _isnan() on MSVC, but it's
been in math.h since vs2013, so it should be safe to rely on
it unconditionally nowadays, and we have no intention of
supporting ancient vs versions anyway.

6 years agoorc: fix static build on windows
Tim-Philipp Müller [Fri, 18 May 2018 08:10:17 +0000 (09:10 +0100)]
orc: fix static build on windows

Orc users mustn't use __declspec(dllimport) when
linking against a static liborc.

6 years agoorctest: Allow enough room for sprintf()
Edward Hervey [Fri, 4 May 2018 07:21:16 +0000 (09:21 +0200)]
orctest: Allow enough room for sprintf()

We were writing more than 300 characters in some cases. Thanks gcc
8 for pointing that out :)

6 years agomeson: use add_project_arguments() instead of add_global_arguments()
Tim-Philipp Müller [Sat, 28 Apr 2018 22:48:39 +0000 (23:48 +0100)]
meson: use add_project_arguments() instead of add_global_arguments()

The latter won't play nice when being used as a subproject.

6 years agoorc: update some generated files
Tim-Philipp Müller [Sat, 28 Apr 2018 12:06:34 +0000 (13:06 +0100)]
orc: update some generated files