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]
23 # Copyright (c) 2015, 2020, Oracle and/or its affiliates.
24 # Copyright (c) 2020, Andreas Wacknitz
25 # Copyright (c) 2023, Friedrich Kink
28 USE_DEFAULT_TEST_TRANSFORMS
= yes
29 include ..
/..
/..
/make-rules
/shared-macros.mk
32 COMPONENT_VERSION
= 4.0.1
33 COMPONENT_SUMMARY
= re2c is a free and open-source lexer generator for C
, C
++ and Go.
34 COMPONENT_DESCRIPTION
= Its main goal is generating fast lexers
: at least
as \
35 fast
as their reasonably optimized hand-coded counterparts. Instead of \
36 using traditional table-driven approach
, re2c encodes the generated finite \
37 state automata directly in the form of conditional jumps and comparisons. \
38 The resulting programs are faster and often smaller than their table-driven analogues
, \
39 and they are much easier to debug and understand. re2c applies quite a few \
40 optimizations in order to speed up and compress the generated code. \
41 Another distinctive feature is its flexible interface
: instead of assuming a \
42 fixed program template
, re2c lets the programmer write most of the interface code \
43 and adapt the generated lexer to any particular environment.
44 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
45 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.xz
46 COMPONENT_PROJECT_URL
= https
://re2c.org
47 COMPONENT_ARCHIVE_HASH
= sha256
:7c35d54fdf2c4b5981b80362d1c742aec4d011589673e02f2e9566f7e66c44af
48 COMPONENT_ARCHIVE_URL
= https
://github.com
/skvadrik
/$(COMPONENT_NAME
)/releases
/download
/$(COMPONENT_VERSION
)/$(COMPONENT_ARCHIVE
)
49 COMPONENT_FMRI
= developer
/lexer
/re2c
50 COMPONENT_CLASSIFICATION
= Development
/Other Languages
51 COMPONENT_LICENSE
= public domain
52 COMPONENT_LICENSE_FILE
= LICENSE
54 include $(WS_MAKE_RULES
)/common.mk
56 export PATH
= $(PATH.gnu
)
58 # Needed to get the tests to run successfully.
59 COMPONENT_PRE_CONFIGURE_ACTION
= ( $(CLONEY
) $(SOURCE_DIR
) $(@D
) )
61 # Auto-generated dependencies
62 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
63 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
64 REQUIRED_PACKAGES
+= system
/library