public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:master commit in: sys-devel/lcc/files/, sys-devel/lcc/
@ 2023-11-06 14:18 David Roman
  0 siblings, 0 replies; only message in thread
From: David Roman @ 2023-11-06 14:18 UTC (permalink / raw
  To: gentoo-commits

commit:     e2e38fbb37db53ef56f599a71da51a5c8880aebc
Author:     Benoît Dufour <benoit.dufour <AT> mail <DOT> com>
AuthorDate: Mon Nov  6 03:55:48 2023 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Mon Nov  6 03:55:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e2e38fbb

sys-devel/lcc: new package, add 2021.01.11

Signed-off-by: Benoît Dufour <benoit.dufour <AT> mail.com>

 sys-devel/lcc/Manifest                      |   1 +
 sys-devel/lcc/files/add_cmake_support.patch | 156 ++++++++++++++++++++++++++++
 sys-devel/lcc/lcc-2021.01.11.ebuild         |  36 +++++++
 3 files changed, 193 insertions(+)

diff --git a/sys-devel/lcc/Manifest b/sys-devel/lcc/Manifest
new file mode 100644
index 0000000000..ed6f4dca88
--- /dev/null
+++ b/sys-devel/lcc/Manifest
@@ -0,0 +1 @@
+DIST 3fd0acc0c3087411c0966d725a56be29038c05a9.tar.gz 636724 BLAKE2B 9fffbda4e888d79c672d2da25cec4132848ce5f8cadd99f128645389377230b491ef3d2f3c550774df6ae82fd6304addcd1f00d6d0da79440ea510b0d97d5600 SHA512 f954509307136632408a219ccefa3e85a05538553c17aec72556979370fa795076a574033c6f7d2b51ca30218665fddd3b576b00fdb6327ae09f0e0c041d428a

diff --git a/sys-devel/lcc/files/add_cmake_support.patch b/sys-devel/lcc/files/add_cmake_support.patch
new file mode 100644
index 0000000000..5fc4622127
--- /dev/null
+++ b/sys-devel/lcc/files/add_cmake_support.patch
@@ -0,0 +1,156 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+new file mode 100644
+index 0000000..6c3b77c
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,11 @@
++cmake_minimum_required(VERSION 3.13)
++
++# TODO: test, triple
++
++project(lcc C)
++
++add_subdirectory(lburg)
++add_subdirectory(src)
++add_subdirectory(cpp)
++add_subdirectory(etc)
++add_subdirectory(lib)
+diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
+new file mode 100644
+index 0000000..accff2e
+--- /dev/null
++++ b/cpp/CMakeLists.txt
+@@ -0,0 +1,12 @@
++add_executable(cpp
++               cpp.c
++               lex.c
++               nlist.c
++               tokens.c
++               macro.c
++               eval.c
++               include.c
++               hideset.c
++               getopt.c
++               unix.c
++               )
+\ No newline at end of file
+diff --git a/etc/CMakeLists.txt b/etc/CMakeLists.txt
+new file mode 100644
+index 0000000..aa4d4aa
+--- /dev/null
++++ b/etc/CMakeLists.txt
+@@ -0,0 +1,18 @@
++add_executable(lcc
++               lcc.c)
++
++if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++    target_sources(lcc PRIVATE win32.c)
++elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++    target_sources(lcc PRIVATE linux.c)
++endif()
++
++add_executable(bprint
++               bprint.c)
++
++target_link_libraries(bprint PRIVATE profio)
++
++add_executable(ops EXCLUDE_FROM_ALL
++               ops.c)
++
++target_link_libraries(ops PRIVATE c)
+\ No newline at end of file
+diff --git a/lburg/CMakeLists.txt b/lburg/CMakeLists.txt
+new file mode 100644
+index 0000000..25b0ae1
+--- /dev/null
++++ b/lburg/CMakeLists.txt
+@@ -0,0 +1,14 @@
++
++add_executable(lburg
++               lburg.c
++               gram.c)
++
++target_include_directories(lburg PRIVATE lburg)
++
++# lburg function for generation of c files from md files
++function(lburg md_file c_file)
++    add_custom_command(OUTPUT  ${c_file}
++                       DEPENDS ${md_file}
++                       COMMAND lburg ${md_file} ${c_file}
++                       VERBATIM)
++endfunction()
+\ No newline at end of file
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+new file mode 100644
+index 0000000..3c31289
+--- /dev/null
++++ b/lib/CMakeLists.txt
+@@ -0,0 +1,4 @@
++add_library(liblcc STATIC
++            assert.c
++            yynull.c
++            bbexit.c)
+\ No newline at end of file
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+new file mode 100644
+index 0000000..21efef9
+--- /dev/null
++++ b/src/CMakeLists.txt
+@@ -0,0 +1,56 @@
++add_executable(rcc
++               main.c)
++
++target_link_libraries(rcc PRIVATE librcc)
++
++lburg(${CMAKE_CURRENT_SOURCE_DIR}/dagcheck.md dagcheck.c)
++lburg(${CMAKE_CURRENT_SOURCE_DIR}/alpha.md    alpha.c   )
++lburg(${CMAKE_CURRENT_SOURCE_DIR}/mips.md     mips.c    )
++lburg(${CMAKE_CURRENT_SOURCE_DIR}/sparc.md    sparc.c   )
++lburg(${CMAKE_CURRENT_SOURCE_DIR}/x86.md      x86.c     )
++lburg(${CMAKE_CURRENT_SOURCE_DIR}/x86linux.md x86linux.c)
++
++add_library(librcc STATIC
++            alloc.c
++            bind.c
++            dag.c
++            dagcheck.c
++            decl.c
++            enode.c
++            error.c
++            expr.c
++            event.c
++            init.c
++            inits.c
++            input.c
++            lex.c
++            list.c
++            main.c
++            output.c
++            prof.c
++            profio.c
++            simp.c
++            stmt.c
++            string.c
++            sym.c
++            trace.c
++            tree.c
++            types.c
++            null.c
++            symbolic.c
++            gen.c
++            bytecode.c
++            alpha.c
++            mips.c
++            sparc.c
++            stab.c
++            x86.c
++            x86linux.c)
++
++target_include_directories(librcc PUBLIC .)
++
++add_library(c INTERFACE)
++target_include_directories(c INTERFACE .)
++
++add_library(profio INTERFACE)
++target_include_directories(profio INTERFACE .)
+\ No newline at end of file

diff --git a/sys-devel/lcc/lcc-2021.01.11.ebuild b/sys-devel/lcc/lcc-2021.01.11.ebuild
new file mode 100644
index 0000000000..cd525f9814
--- /dev/null
+++ b/sys-devel/lcc/lcc-2021.01.11.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# Would allow installing gentoo on any arch.
+DESCRIPTION="The lcc retargetable ANSI C compiler"
+HOMEPAGE="https://drh.github.io/lcc/"
+SHA='3fd0acc0c3087411c0966d725a56be29038c05a9'
+SRC_URI="https://github.com/drh/lcc/archive/${SHA}.tar.gz"
+
+# Build using CMake, still missing some features.
+PATCHES=( "${FILESDIR}/add_cmake_support.patch" )
+
+LICENSE="lcc"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# What are the dependencies if any?
+#DEPEND=""
+#RDEPEND="${DEPEND}"
+#BDEPEND=""
+S="${WORKDIR}/${PN}-${SHA}"
+
+src_install() {
+	doman "doc/bprint.1"
+	doman "doc/lcc.1"
+	#into "/usr/lib/lcc"
+	dobin "${WORKDIR}/${PN}-${SHA}_build/cpp/cpp"
+	dobin "${WORKDIR}/${PN}-${SHA}_build/etc/bprint"
+	dobin "${WORKDIR}/${PN}-${SHA}_build/etc/lcc"
+	dobin "${WORKDIR}/${PN}-${SHA}_build/lburg/lburg"
+	dobin "${WORKDIR}/${PN}-${SHA}_build/src/rcc"
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-11-06 14:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-06 14:18 [gentoo-commits] repo/proj/guru:master commit in: sys-devel/lcc/files/, sys-devel/lcc/ David Roman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox