gst-plugins-base1: Update to 1.22.1
[oi-userland.git] / components / developer / re2c / Makefile
blob7d95ca6994671095f980e022b11f71a4e09f5228
2 # CDDL HEADER START
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
19 # CDDL HEADER END
23 # Copyright (c) 2015, 2020, Oracle and/or its affiliates.
24 # Copyright (c) 2020, Andreas Wacknitz
25 # Copyright (c) 2023, Friedrich Kink
27 BUILD_BITS= 64
28 include ../../../make-rules/shared-macros.mk
30 COMPONENT_NAME= re2c
31 COMPONENT_VERSION= 3.0
32 COMPONENT_SUMMARY= re2c is a free and open-source lexer generator for C, C++ and Go.
33 COMPONENT_DESCRIPTION= Its main goal is generating fast lexers: at least as \
34 fast as their reasonably optimized hand-coded counterparts. Instead of \
35 using traditional table-driven approach, re2c encodes the generated finite \
36 state automata directly in the form of conditional jumps and comparisons. \
37 The resulting programs are faster and often smaller than their table-driven analogues, \
38 and they are much easier to debug and understand. re2c applies quite a few \
39 optimizations in order to speed up and compress the generated code. \
40 Another distinctive feature is its flexible interface: instead of assuming a \
41 fixed program template, re2c lets the programmer write most of the interface code \
42 and adapt the generated lexer to any particular environment.
43 COMPONENT_FMRI= developer/lexer/re2c
44 COMPONENT_CLASSIFICATION= Development/Other Languages
45 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
46 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
47 COMPONENT_PROJECT_URL= https://re2c.org
48 COMPONENT_ARCHIVE_HASH= sha256:b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b
49 COMPONENT_ARCHIVE_URL= https://github.com/skvadrik/$(COMPONENT_NAME)/releases/download/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
50 COMPONENT_LICENSE= public domain
51 COMPONENT_LICENSE_FILE= LICENSE
53 include $(WS_MAKE_RULES)/common.mk
55 export PATH=$(PATH.gnu)
57 # Needed to get the tests to run successfully.
58 COMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D))
60 # Needed for "gmake test" to work successfully.
61 # If SHELLOPTS is exported (as it is by the userland makefiles),
62 # then all shell options get exported to child invocations of bash,
63 # which results in test failures due to nounset and xtrace being
64 # set unexpectedly, and errors such as "$1: unbound variable" and
65 # diffs failing due to script tracing in output files.
66 unexport SHELLOPTS
67 COMPONENT_TEST_TRANSFORMS= \
68 '-n ' \
69 '-e "/=======$$/p"' \
70 '-e "/^Testsuite/p"' \
71 '-e "/^PASS:/p"' \
72 '-e "/^\# /p"'
74 # Auto-generated dependencies
75 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
76 REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
77 REQUIRED_PACKAGES += system/library