mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-20 20:43:09 -04:00
dev-lang/fbc: drop old
Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Theo Anderson <telans@posteo.de>
This commit is contained in:
@@ -1,10 +1,4 @@
|
||||
DIST FreeBASIC-1.06.0-source-bootstrap.tar.xz 7742292 BLAKE2B fd32c6e5edf6e8c27538465141c6b870d6c893f8e05fc8d91b273f9268a68065709cba95e8c5cd8b86786522b2ac1eaf1a6a547227432bbc9998eb1288b29515 SHA512 42878091994cae7e0a2f4ba1d2d83a80d32d62ad06790ac06643a266200b53b7ce2480a651b1622910a2733756b7ca032a5be1bb73ee3f796146394eebb9f43c
|
||||
DIST FreeBASIC-1.07.0-source-bootstrap.tar.xz 8237216 BLAKE2B f657f8a81d412435b8b4167ded5019e9821f0cf47db9d38708da0eea6bdc8835a77c643122e792616aefbbb557f228e6ab06e823c10e1afe922c9e4b34088989 SHA512 3a69e2fe5a81b8990e0ec811a9aeb0c9bdd84e858983800c444717197754a0b8e2945091d80d4c6736b691798dbc571b3e7f885d6a6e4564c9ca1021a2fae71c
|
||||
DIST FreeBASIC-1.07.1-source-bootstrap.tar.xz 9098748 BLAKE2B 3c3970ab014f79193dad23b6f22c5ffc61d6f588219dcf00f430ce2c9045dc2af8aa42bdad4f1d63d76591aae14b42553cf6ece88052f0dc78e09c6fb5c4d875 SHA512 89250fb4d79e420151bae8208945e26c5d4e63ba8bbb60658b2c5601ceeea238b387d7d7a2b52d60da2243e5d3d31f602c3657394be72a37c256e777be23b0a8
|
||||
DIST FreeBASIC-1.07.2-source-bootstrap.tar.xz 10700992 BLAKE2B e7016e5f58ae79086c0445bf6a09f33d4335af771422778be407e3351d583522e16f137763e471ba88e47b4318ab5bd2aec882ef5e5ff85cc334b0eccf27fdc5 SHA512 f381d14343496f68d3401ad1a66ff4fb1314270eddebb72ed2bc5624b856c4b29e7e14062f531a5158d892bb73d9aa80ff54fe7c260b4b8967b1330d26b2ecfc
|
||||
DIST fbc-1.06.0-bootstrap-dist-linux-x86.patch 147301 BLAKE2B 8320f988bc84f5df1b732719a11d1a8edbfceff04ad51b1fbd883eb21d20f1c2f16b8c6ae41b5b0472e4faf1058345969b85ed0c93c071de3c9ed703e298106a SHA512 b2ee285504ce0f8a6a01ee5da7661e40c4a6bb0075f26751fbc79a328cac66f7809ad4c2489eaab01a6e6432ca6d76e19835c86bddf9df5af3b89c547fd8ffb3
|
||||
DIST fbc-1.06.0-bootstrap-dist-linux-x86_64.patch 198197 BLAKE2B 72083bef84aed5ec2d95badb70a42db2e5d89084454f79aef41808a018ab238b1d230cb7282f4adf1be9d003c3865cb914fbf057fbd84c069dfecc4abd3da80b SHA512 771077a2526164223c3ae157558355538701224863b2a5923881ac2d2568f4cd1f5489df73aa8d55b1efccc82fe9e251e893a2b361363c1862d4c1e7bc3fb4ba
|
||||
DIST fbc-1.06.0.tar.gz 8847831 BLAKE2B 9245137995f9f3e2ff5adaf9b273593434ac9ec96919b2c970ec26183fe6fb7afee35753f2dd92f4b34d1aade92871e5a6722571a5ba04dde323fd7fb06c55c5 SHA512 687dcf665bb10e6a771cc01d02c21da77d89e052308600038dce526ba1ccfc6554d409dab184f3495557c9e4fdf744fd7a9088b4b137b782a9ab8633622c5484
|
||||
DIST fbc-1.07.0.tar.gz 8938137 BLAKE2B 14849dd0cfb0f0a2d0f2e4966a855964027adbacc2253e236f9f10ba73c40b16714d8fb75778cac8cb6eb1600d6adeb2037929a376b4938961e53e5de83fafba SHA512 1cab52e97854b3ef17db6ba4750c0216f3bd04e23997f005189988007014574467c0f63f41ad822d089a18e97439ba52743223d1bb282133b41c0625b66cd8f5
|
||||
DIST fbc-1.07.1.tar.gz 8938056 BLAKE2B 965425426605b9e0018e066852a67c355d168276b434e6779e151fad38820a956b5b763aad427c6728be4a74b0956b099a0bb8abd0d76fececc6cf8f0204d3c1 SHA512 7d49b9546e242b1c366b2378f71cf1640b85c85e09f4c2bd99ef268e6b4e5e45a710b7a00f7d807245aec518f299d173635572b77483826c1f273e047dbe3679
|
||||
DIST fbc-1.07.2.tar.gz 9032306 BLAKE2B c44eb74bb0b11f8315cda29e13157ce5f7a92070f0e6df833ad9dda4ebe37db6450afe2b82eb763ebee5ed0c33b4ce458fd3b53430f32da8ad5a71cd84411c67 SHA512 0577203fb8a325f611c88456446721e8bb14656beb235f3965bcd53e14cc7c7fa012a68535ff4c12351fad31d9a22a759f12bc9fe0be5d1dad124d3fe377daaf
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="A free/open source, multi-platform BASIC compiler."
|
||||
HOMEPAGE="https://www.freebasic.net"
|
||||
SRC_URI="https://github.com/freebasic/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/freebasic/${PN}/releases/download/${PV}/FreeBASIC-${PV}-source-bootstrap.tar.xz
|
||||
https://gist.github.com/vilhelmgray/08cebe0f22e303f7d5e6e5bc71e3d1f2/raw/70c1f43eec81c35bdc780ace7fdf6a3c8b548c85/fbc-1.06.0-bootstrap-dist-linux-x86.patch
|
||||
https://gist.github.com/vilhelmgray/08cebe0f22e303f7d5e6e5bc71e3d1f2/raw/70c1f43eec81c35bdc780ace7fdf6a3c8b548c85/fbc-1.06.0-bootstrap-dist-linux-x86_64.patch"
|
||||
|
||||
LICENSE="FDL-1.2 GPL-2+ LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="gpm libffi opengl X"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/ncurses:=
|
||||
gpm? ( sys-libs/gpm )
|
||||
libffi? ( dev-libs/libffi )
|
||||
opengl? ( virtual/opengl )
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
)"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES="${FILESDIR}/${PV}/${PN}"
|
||||
|
||||
DOCS="${S}/doc/fbc.1"
|
||||
|
||||
BOOTSTRAP_S="${WORKDIR}/FreeBASIC-${PV}-source-bootstrap"
|
||||
|
||||
src_unpack() {
|
||||
# We only need bootstrap source code if fbc is not already present
|
||||
if ! has_version dev-lang/fbc; then
|
||||
unpack FreeBASIC-${PV}-source-bootstrap.tar.xz
|
||||
fi
|
||||
unpack ${P}.tar.gz
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# We only need bootstrap source code if fbc is not already present
|
||||
if ! has_version dev-lang/fbc; then
|
||||
cd "${BOOTSTRAP_S}" || die "cd failed"
|
||||
eapply "${FILESDIR}/${PV}/bootstrap"
|
||||
eapply "${DISTDIR}/fbc-1.06.0-bootstrap-dist-linux-x86.patch"
|
||||
eapply "${DISTDIR}/fbc-1.06.0-bootstrap-dist-linux-x86_64.patch"
|
||||
cd "${S}" || die "cd failed"
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local fbc="fbc"
|
||||
local fbcflags=""
|
||||
|
||||
# We only need bootstrap compiler if fbc is not already present
|
||||
if ! has_version dev-lang/fbc; then
|
||||
cd "${BOOTSTRAP_S}" || die "cd failed"
|
||||
|
||||
# Build bootstrap compiler
|
||||
emake bootstrap-minimal
|
||||
|
||||
# Set bootstrap compiler to build fbc
|
||||
fbc="${BOOTSTRAP_S}/bin/fbc"
|
||||
fbcflags="-i ${BOOTSTRAP_S}/inc"
|
||||
|
||||
cd "${S}" || die "cd failed"
|
||||
fi
|
||||
|
||||
local xcflags=(
|
||||
$(usex gpm "" "-DDISABLE_GPM")
|
||||
$(usex libffi "" " -DDISABLE_FFI")
|
||||
$(usex opengl "" " -DDISABLE_OPENGL")
|
||||
$(usex X "" " -DDISABLE_X11")
|
||||
)
|
||||
|
||||
# fbc requires a space after the -Wl option
|
||||
local fblflags=${LDFLAGS//-Wl,/-Wl }
|
||||
|
||||
# Build fbc
|
||||
emake CFLAGS="${CFLAGS} ${xcflags[*]}" FBC="${fbc}" FBCFLAGS="${fbcflags}" FBLFLAGS="${fblflags}" TARGET=${CHOST}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" prefix="/usr" TARGET=${CHOST} install
|
||||
einstalldocs
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="A free/open source, multi-platform BASIC compiler."
|
||||
HOMEPAGE="https://www.freebasic.net"
|
||||
SRC_URI="https://github.com/freebasic/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/freebasic/${PN}/releases/download/${PV}/FreeBASIC-${PV}-source-bootstrap.tar.xz"
|
||||
|
||||
LICENSE="FDL-1.2 GPL-2+ LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="gpm libffi opengl X"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/ncurses:=
|
||||
gpm? ( sys-libs/gpm )
|
||||
libffi? ( dev-libs/libffi )
|
||||
opengl? ( virtual/opengl )
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
)"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-Pass-ltinfo-to-linker.patch )
|
||||
|
||||
DOCS="${S}/doc/fbc.1"
|
||||
|
||||
BOOTSTRAP_S="${WORKDIR}/FreeBASIC-${PV}-source-bootstrap"
|
||||
|
||||
src_unpack() {
|
||||
# We only need bootstrap source code if fbc is not already present
|
||||
if ! has_version dev-lang/fbc; then
|
||||
unpack FreeBASIC-${PV}-source-bootstrap.tar.xz
|
||||
fi
|
||||
unpack ${P}.tar.gz
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# We only need bootstrap source code if fbc is not already present
|
||||
if ! has_version dev-lang/fbc; then
|
||||
cd "${BOOTSTRAP_S}" || die "cd failed"
|
||||
eapply "${PATCHES[@]}"
|
||||
cd "${S}" || die "cd failed"
|
||||
fi
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local fbc="fbc"
|
||||
local fbcflags=""
|
||||
|
||||
# We only need bootstrap compiler if fbc is not already present
|
||||
if ! has_version dev-lang/fbc; then
|
||||
cd "${BOOTSTRAP_S}" || die "cd failed"
|
||||
|
||||
# Build bootstrap compiler
|
||||
emake bootstrap-minimal
|
||||
|
||||
# Set bootstrap compiler to build fbc
|
||||
fbc="${BOOTSTRAP_S}/bin/fbc"
|
||||
fbcflags="-i ${BOOTSTRAP_S}/inc"
|
||||
|
||||
cd "${S}" || die "cd failed"
|
||||
fi
|
||||
|
||||
local xcflags=(
|
||||
$(usex gpm "" "-DDISABLE_GPM")
|
||||
$(usex libffi "" " -DDISABLE_FFI")
|
||||
$(usex opengl "" " -DDISABLE_OPENGL")
|
||||
$(usex X "" " -DDISABLE_X11")
|
||||
)
|
||||
|
||||
# fbc requires a space after the -Wl option
|
||||
local fblflags=${LDFLAGS//-Wl,/-Wl }
|
||||
|
||||
# Build fbc
|
||||
emake CFLAGS="${CFLAGS} ${xcflags[*]}" FBC="${fbc}" FBCFLAGS="${fbcflags}" FBLFLAGS="${fblflags}" TARGET=${CHOST}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" prefix="/usr" TARGET=${CHOST} install
|
||||
einstalldocs
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
From 94764a6bf44ab9146e23fb0559ef99f35ceeec79 Mon Sep 17 00:00:00 2001
|
||||
From: William Breathitt Gray <vilhelm.gray@gmail.com>
|
||||
Date: Sat, 6 Apr 2019 11:20:10 +0900
|
||||
Subject: [PATCH] makefile: Fix bootstrap recipe race condition
|
||||
|
||||
Since fbrt0.o and libfb.a are statically linked to the bootstrap fbc,
|
||||
rtlib should be listed as a dependency of BOOTSTRAP_FBC. This patch
|
||||
fixes the race condition described in issue #131.
|
||||
---
|
||||
makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/makefile b/makefile
|
||||
index aeca4c07e..0422dfff7 100644
|
||||
--- a/makefile
|
||||
+++ b/makefile
|
||||
@@ -1063,7 +1063,7 @@ bootstrap-dist:
|
||||
#
|
||||
BOOTSTRAP_FBC := bootstrap/fbc$(EXEEXT)
|
||||
.PHONY: bootstrap
|
||||
-bootstrap: rtlib gfxlib2 $(BOOTSTRAP_FBC)
|
||||
+bootstrap: gfxlib2 $(BOOTSTRAP_FBC)
|
||||
mkdir -p bin
|
||||
cp $(BOOTSTRAP_FBC) $(FBC_EXE)
|
||||
|
||||
@@ -1089,7 +1089,7 @@ endif
|
||||
ifneq ($(filter darwin freebsd linux netbsd openbsd solaris,$(TARGET_OS)),)
|
||||
BOOTSTRAP_LIBS := -lncurses -lm -pthread
|
||||
endif
|
||||
-$(BOOTSTRAP_FBC): $(BOOTSTRAP_OBJ)
|
||||
+$(BOOTSTRAP_FBC): rtlib $(BOOTSTRAP_OBJ)
|
||||
$(QUIET_LINK)$(CC) -o $@ $(libdir)/fbrt0.o bootstrap/$(FBTARGET)/*.o $(libdir)/libfb.a $(BOOTSTRAP_LIBS)
|
||||
|
||||
.PHONY: clean-bootstrap
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
From dc6e5a3b68810d0e97625b57055bd98678e13a53 Mon Sep 17 00:00:00 2001
|
||||
From: William Breathitt Gray <vilhelm.gray@gmail.com>
|
||||
Date: Tue, 9 Apr 2019 18:51:38 +0900
|
||||
Subject: [PATCH] makefile: Implement bootstrap-minimal target
|
||||
|
||||
The bootstrap-minimal target builds a bootstrap fbc with only the
|
||||
minimal features necessary to build another fbc.
|
||||
---
|
||||
makefile | 16 ++++++++++++----
|
||||
1 file changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/makefile b/makefile
|
||||
index 0422dfff7..245e95669 100644
|
||||
--- a/makefile
|
||||
+++ b/makefile
|
||||
@@ -64,8 +64,9 @@
|
||||
# warning-tests
|
||||
# clean-tests
|
||||
#
|
||||
-# bootstrap-dist Create source package with precompiled fbc sources
|
||||
-# bootstrap Build fbc from the precompiled sources (only if precompiled sources exist)
|
||||
+# bootstrap-dist Create source package with precompiled fbc sources
|
||||
+# bootstrap Build fbc from the precompiled sources (only if precompiled sources exist)
|
||||
+# bootstrap-minimal Build fbc from the precompiled sources (only if precompiled sources exist) with only the minimal features needed to compile another fbc
|
||||
#
|
||||
# makefile configuration:
|
||||
# FB[C|L]FLAGS to set -g -exx etc. for the compiler build and/or link
|
||||
@@ -368,6 +369,11 @@ ALLFBCFLAGS += -e -m fbc -w pedantic
|
||||
ALLFBLFLAGS += -e -m fbc -w pedantic
|
||||
ALLCFLAGS += -Wall -Wextra -Wno-unused-parameter -Werror-implicit-function-declaration
|
||||
|
||||
+ifneq ($(filter bootstrap-minimal, $(MAKECMDGOALS)),)
|
||||
+ # Disable features not needed to compile a minimal bootstrap fbc
|
||||
+ ALLCFLAGS += -DDISABLE_GPM -DDISABLE_FFI -DDISABLE_X11
|
||||
+endif
|
||||
+
|
||||
ifeq ($(TARGET_OS),xbox)
|
||||
ifeq ($(OPENXDK),)
|
||||
$(error Please set OPENXDK=<OpenXDK directory>)
|
||||
@@ -1061,9 +1067,11 @@ bootstrap-dist:
|
||||
# Build the fbc[.exe] binary from the precompiled sources in the bootstrap/
|
||||
# directory.
|
||||
#
|
||||
+.PHONY: bootstrap bootstrap-minimal
|
||||
+bootstrap: gfxlib2 bootstrap-minimal
|
||||
+
|
||||
BOOTSTRAP_FBC := bootstrap/fbc$(EXEEXT)
|
||||
-.PHONY: bootstrap
|
||||
-bootstrap: gfxlib2 $(BOOTSTRAP_FBC)
|
||||
+bootstrap-minimal: $(BOOTSTRAP_FBC)
|
||||
mkdir -p bin
|
||||
cp $(BOOTSTRAP_FBC) $(FBC_EXE)
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
From d1e485d6f1beb39e3228f86c2448b2fac77d1e62 Mon Sep 17 00:00:00 2001
|
||||
From: William Breathitt Gray <vilhelm.gray@gmail.com>
|
||||
Date: Sun, 21 Apr 2019 19:10:48 +0900
|
||||
Subject: [PATCH] Pass down all options from all -Wa, -Wc, and -Wl flags
|
||||
|
||||
All options from all -Wa, -Wc, and -Wl flags are passed down to their
|
||||
respective programs. This fixes issue #137.
|
||||
---
|
||||
src/compiler/fbc.bas | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/compiler/fbc.bas b/src/compiler/fbc.bas
|
||||
index 0f04217a1..f6fa3d9db 100644
|
||||
--- a/src/compiler/fbc.bas
|
||||
+++ b/src/compiler/fbc.bas
|
||||
@@ -1869,13 +1869,13 @@ private sub handleOpt(byval optid as integer, byref arg as string)
|
||||
end if
|
||||
|
||||
case OPT_WA
|
||||
- fbc.extopt.gas = " " + hReplace( arg, ",", " " ) + " "
|
||||
+ fbc.extopt.gas += " " + hReplace( arg, ",", " " ) + " "
|
||||
|
||||
case OPT_WC
|
||||
- fbc.extopt.gcc = " " + hReplace( arg, ",", " " ) + " "
|
||||
+ fbc.extopt.gcc += " " + hReplace( arg, ",", " " ) + " "
|
||||
|
||||
case OPT_WL
|
||||
- fbc.extopt.ld = " " + hReplace( arg, ",", " " ) + " "
|
||||
+ fbc.extopt.ld += " " + hReplace( arg, ",", " " ) + " "
|
||||
|
||||
case OPT_X
|
||||
fbc.outname = arg
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,169 +0,0 @@
|
||||
From b8bfa87f56a86c3c81976b1a8c0411ac4240ae9e Mon Sep 17 00:00:00 2001
|
||||
From: William Breathitt Gray <vilhelm.gray@gmail.com>
|
||||
Date: Wed, 24 Apr 2019 16:59:08 +0900
|
||||
Subject: [PATCH] Implement the '-strip'/'-nostrip' compiler options
|
||||
|
||||
This change allows users to choose whether or not to strip symbol
|
||||
information from the output file. The fbc '-strip' option is analogous
|
||||
to the ld '--strip-all' option. The ENABLE_STRIPALL compiler build
|
||||
option is introduced to configure whether fbc defaults to stripping
|
||||
symbols.
|
||||
|
||||
This fixes issue #140.
|
||||
---
|
||||
makefile | 8 ++++++++
|
||||
src/compiler/fbc.bas | 21 ++++++++++++++++++++-
|
||||
2 files changed, 28 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/makefile b/makefile
|
||||
index 245e95669..519fe7e7b 100644
|
||||
--- a/makefile
|
||||
+++ b/makefile
|
||||
@@ -81,6 +81,7 @@
|
||||
# ENABLE_SUFFIX=-0.24 append a string like "-0.24" to fbc/FB dir names,
|
||||
# and use "-d ENABLE_SUFFIX=$(ENABLE_SUFFIX)" (non-standalone only)
|
||||
# ENABLE_LIB64=1 use prefix/lib64/ instead of prefix/lib/ for 64bit libs (non-standalone only)
|
||||
+# ENABLE_STRIPALL=1 use "-d ENABLE_STRIPALL" with select targets
|
||||
# FBPACKAGE bindist: The package/archive file name without path or extension
|
||||
# FBPACKSUFFIX bindist: Allows adding a custom suffix to the normal package name (and the toplevel dir in the archive)
|
||||
# FBMANIFEST bindist: The manifest file name without path or extension
|
||||
@@ -92,6 +93,7 @@
|
||||
# -d ENABLE_SUFFIX=-0.24 assume FB's lib dir uses the given suffix (non-standalone only)
|
||||
# -d ENABLE_PREFIX=/some/path hard-code specific $(prefix) into fbc
|
||||
# -d ENABLE_LIB64 use prefix/lib64/ instead of prefix/lib/ for 64bit libs (non-standalone only)
|
||||
+# -d ENABLE_STRIPALL configure fbc to pass down '--strip-all' to linker by default
|
||||
#
|
||||
# rtlib/gfxlib2 source code configuration (CFLAGS):
|
||||
# -DDISABLE_X11 build without X11 headers (disables X11 gfx driver)
|
||||
@@ -429,6 +431,12 @@ endif
|
||||
ifdef ENABLE_LIB64
|
||||
ALLFBCFLAGS += -d ENABLE_LIB64
|
||||
endif
|
||||
+ifdef ENABLE_STRIPALL
|
||||
+ ifneq ($(filter dos win32,$(TARGET_OS)),)
|
||||
+ ALLFBCFLAGS += -d ENABLE_STRIPALL
|
||||
+ endif
|
||||
+endif
|
||||
+
|
||||
|
||||
ALLFBCFLAGS += $(FBCFLAGS) $(FBFLAGS)
|
||||
ALLFBLFLAGS += $(FBLFLAGS) $(FBFLAGS)
|
||||
diff --git a/src/compiler/fbc.bas b/src/compiler/fbc.bas
|
||||
index f6fa3d9db..f9b665bbc 100644
|
||||
--- a/src/compiler/fbc.bas
|
||||
+++ b/src/compiler/fbc.bas
|
||||
@@ -100,6 +100,7 @@ type FBCCTX
|
||||
xbe_title as zstring * FB_MAXNAMELEN+1 '' For the '-title <title>' xbox option
|
||||
nodeflibs as integer
|
||||
staticlink as integer
|
||||
+ stripsymbols as integer
|
||||
|
||||
'' Compiler paths
|
||||
prefix as zstring * FB_MAXPATHLEN+1 '' Path from -prefix or empty
|
||||
@@ -163,6 +164,10 @@ private sub fbcInit( )
|
||||
|
||||
fbGlobalInit()
|
||||
|
||||
+#ifdef ENABLE_STRIPALL
|
||||
+ fbc.stripsymbols = TRUE
|
||||
+#endif
|
||||
+
|
||||
fbc.objinf.lang = fbGetOption( FB_COMPOPT_LANG )
|
||||
|
||||
fbc.print = -1
|
||||
@@ -762,7 +767,7 @@ private function hLinkFiles( ) as integer
|
||||
|
||||
if( fbGetOption( FB_COMPOPT_DEBUGINFO ) = FALSE ) then
|
||||
if( fbGetOption( FB_COMPOPT_PROFILE ) = FALSE ) then
|
||||
- if( fbGetOption( FB_COMPOPT_TARGET ) <> FB_COMPTARGET_DARWIN ) then
|
||||
+ if( fbc.stripsymbols ) then
|
||||
ldcline += " -s"
|
||||
end if
|
||||
end if
|
||||
@@ -1417,6 +1422,7 @@ enum
|
||||
OPT_NODEFLIBS
|
||||
OPT_NOERRLINE
|
||||
OPT_NOOBJINFO
|
||||
+ OPT_NOSTRIP
|
||||
OPT_O
|
||||
OPT_OPTIMIZE
|
||||
OPT_P
|
||||
@@ -1432,6 +1438,7 @@ enum
|
||||
OPT_S
|
||||
OPT_SHOWINCLUDES
|
||||
OPT_STATIC
|
||||
+ OPT_STRIP
|
||||
OPT_T
|
||||
OPT_TARGET
|
||||
OPT_TITLE
|
||||
@@ -1480,6 +1487,7 @@ dim shared as integer option_takes_argument(0 to (OPT__COUNT - 1)) = _
|
||||
FALSE, _ '' OPT_NODEFLIBS
|
||||
FALSE, _ '' OPT_NOERRLINE
|
||||
FALSE, _ '' OPT_NOOBJINFO
|
||||
+ FALSE, _ '' OPT_NOSTRIP
|
||||
TRUE , _ '' OPT_O
|
||||
TRUE , _ '' OPT_OPTIMIZE
|
||||
TRUE , _ '' OPT_P
|
||||
@@ -1495,6 +1503,7 @@ dim shared as integer option_takes_argument(0 to (OPT__COUNT - 1)) = _
|
||||
TRUE , _ '' OPT_S
|
||||
FALSE, _ '' OPT_SHOWINCLUDES
|
||||
FALSE, _ '' OPT_STATIC
|
||||
+ FALSE, _ '' OPT_STRIP
|
||||
TRUE , _ '' OPT_T
|
||||
TRUE , _ '' OPT_TARGET
|
||||
TRUE , _ '' OPT_TITLE
|
||||
@@ -1676,6 +1685,9 @@ private sub handleOpt(byval optid as integer, byref arg as string)
|
||||
case OPT_NOOBJINFO
|
||||
fbSetOption( FB_COMPOPT_OBJINFO, FALSE )
|
||||
|
||||
+ case OPT_NOSTRIP
|
||||
+ fbc.stripsymbols = FALSE
|
||||
+
|
||||
case OPT_O
|
||||
'' Error if there already is an -o waiting to be assigned
|
||||
hCheckWaitingObjfile( )
|
||||
@@ -1765,6 +1777,9 @@ private sub handleOpt(byval optid as integer, byref arg as string)
|
||||
case OPT_STATIC
|
||||
fbc.staticlink = TRUE
|
||||
|
||||
+ case OPT_STRIP
|
||||
+ fbc.stripsymbols = TRUE
|
||||
+
|
||||
case OPT_T
|
||||
fbSetOption( FB_COMPOPT_STACKSIZE, clng( arg ) * 1024 )
|
||||
|
||||
@@ -1963,6 +1978,7 @@ private function parseOption(byval opt as zstring ptr) as integer
|
||||
CHECK("noerrline", OPT_NOERRLINE)
|
||||
CHECK("nodeflibs", OPT_NODEFLIBS)
|
||||
CHECK("noobjinfo", OPT_NOOBJINFO)
|
||||
+ CHECK("nostrip", OPT_NOSTRIP)
|
||||
|
||||
case asc("o")
|
||||
ONECHAR(OPT_O)
|
||||
@@ -1990,6 +2006,7 @@ private function parseOption(byval opt as zstring ptr) as integer
|
||||
ONECHAR(OPT_S)
|
||||
CHECK("showincludes", OPT_SHOWINCLUDES)
|
||||
CHECK("static", OPT_STATIC)
|
||||
+ CHECK("strip", OPT_STRIP)
|
||||
|
||||
case asc("t")
|
||||
ONECHAR(OPT_T)
|
||||
@@ -3384,6 +3401,7 @@ private sub hPrintOptions( )
|
||||
print " -nodeflibs Do not include the default libraries"
|
||||
print " -noerrline Do not show source context in error messages"
|
||||
print " -noobjinfo Do not read/write compile-time info from/to .o and .a files"
|
||||
+ print " -nostrip Do not strip symbol information from the output file"
|
||||
print " -o <file> Set .o (or -pp .bas) file name for prev/next input file"
|
||||
print " -O <value> Optimization level (default: 0)"
|
||||
print " -p <path> Add a library search path"
|
||||
@@ -3401,6 +3419,7 @@ private sub hPrintOptions( )
|
||||
print " -s console|gui Select win32 subsystem"
|
||||
print " -showincludes Display a tree of file names of #included files"
|
||||
print " -static Prefer static libraries over dynamic ones when linking"
|
||||
+ print " -strip Omit all symbol information from the output file"
|
||||
print " -t <value> Set .exe stack size in kbytes, default: 1024 (win32/dos)"
|
||||
print " -target <name> Set cross-compilation target"
|
||||
print " -title <name> Set XBE display title (xbox)"
|
||||
--
|
||||
2.21.0
|
||||
|
||||
Reference in New Issue
Block a user