media-libs/libjsw: Fix build system

Closes: https://bugs.gentoo.org/724664
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: David Seifert <soap@gentoo.org>
This commit is contained in:
David Seifert
2020-07-05 02:23:09 +02:00
parent 20967d3102
commit e14bf63ddb
2 changed files with 145 additions and 70 deletions

View File

@@ -1,60 +1,17 @@
--- libjsw/Makefile.old 2010-03-22 17:03:21.000000000 +0100
+++ libjsw/Makefile 2010-03-22 17:07:02.000000000 +0100
@@ -51,10 +51,10 @@
# to debug the program.
#
-CFLAGS = -Wall -O2 -g
-CFLAGS += -ffast-math
+CFLAGS += -fPIC
+CXXFLAGS += -fPIC
-CPPFLAGS = -D__cplusplus
+CPPFLAGS += -D__cplusplus
# ########################################################################
@@ -82,11 +82,9 @@
OBJ_C = $(SRC_C:.c=.o)
OBJ_CPP = $(SRC_CPP:.cpp=.o)
.c.o:
- @echo "Compiling module $*.o"
- @+$(CC) -c $*.c $(INC_DIRS) $(CFLAGS)
+ $(CC) -c $*.c $(INC_DIRS) $(CFLAGS)
.cpp.o:
- @echo "Compiling module $*.o"
- @+$(CPP) -c $*.cpp $(INC_DIRS) $(CFLAGS) $(CPPFLAGS)
+ $(CPP) -c $*.cpp $(INC_DIRS) $(CXXFLAGS) $(CPPFLAGS)
# ########################################################################
@@ -95,13 +93,7 @@
$(LIB): prebuild modules postbuild
modules: $(OBJ_C) $(OBJ_CPP)
- @echo -n "Linking modules..."
- @$(CC) $(OBJ_C) $(OBJ_CPP) -Wl,-soname=$(LIB) -shared -o $(LIB) $(LIBS) $(LIB_DIRS)
- @echo -n " "
- @$(RM) $(RMFLAGS) $(LIBPFX).so
- @$(LINK) -s $(LIB) $(LIBPFX).so
- @$(LINK) -s $(LIB) $(LIBPFX).so.1
- @-$(LS) $(LSFLAGS) $(LIB)
+ $(CPP) $(OBJ_C) $(OBJ_CPP) -o $(LIB) $(LDFLAGS) $(LIBS) $(LIB_DIRS)
prebuild:
@echo "Building library \"$(LIB)\"..."
--- jscalibrator/Makefile.old 2010-03-22 17:08:07.000000000 +0100
+++ jscalibrator/Makefile 2010-03-22 17:11:26.000000000 +0100
@@ -59,9 +59,6 @@
--- a/jscalibrator/Makefile
+++ b/jscalibrator/Makefile
@@ -59,10 +59,7 @@
#CFLAGS = -Wall -O -g \
# `gtk-config --cflags`
-CFLAGS = -Wall -O6 -fomit-frame-pointer -funroll-loops -ffast-math \
- `gtk-config --cflags`
-
CPPFLAGS = -D__cplusplus
-CPPFLAGS = -D__cplusplus
+CPPFLAGS =
# ########################################################################
@@ -76,7 +73,7 @@
# to the LIB line depending on what you have set in the CFLAGS line
# farther above.
@@ -82,21 +39,27 @@
# ########################################################################
@@ -117,11 +114,9 @@
@@ -111,17 +108,13 @@
RM = rm
RMFLAGS = -f
-CC = cc
-CPP = c++
BIN = jscalibrator
OBJ_C = $(SRC_C:.c=.o)
OBJ_CPP = $(SRC_CPP:.cpp=.o)
.c.o:
- @echo "Compiling module $*.o"
- @+$(CC) -c $*.c $(INC_DIRS) $(CFLAGS)
+ $(CC) -c $*.c $(INC_DIRS) $(CFLAGS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(INC_DIRS) -c $< -o $@
.cpp.o:
- @echo "Compiling module $*.o"
- @+$(CPP) -c $*.cpp $(INC_DIRS) $(CFLAGS) $(CPPFLAGS)
+ $(CPP) -c $*.cpp $(INC_DIRS) $(CXXFLAGS) $(CPPFLAGS)
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INC_DIRS) -c $< -o $@
# ########################################################################
@@ -130,10 +125,7 @@
@@ -130,10 +123,7 @@
$(BIN): prebuild modules postbuild
modules: $(OBJ_C) $(OBJ_CPP)
@@ -104,7 +67,115 @@
- @$(CC) $(OBJ_C) $(OBJ_CPP) -o $(BIN) $(LIBS) $(LIB_DIRS)
- @echo -n " "
- @-$(LS) $(LSFLAGS) $(BIN)
+ $(CC) $(OBJ_C) $(OBJ_CPP) -o $(BIN) $(LDFLAGS) $(LIB_DIRS) $(LIBS)
+ $(CC) $(LDFLAGS) $(OBJ_C) $(OBJ_CPP) -o $(BIN) $(LIB_DIRS) $(LIBS)
prebuild:
@echo "Building program \"$(BIN)\"..."
--- a/jswdemos/Makefile
+++ b/jswdemos/Makefile
@@ -1,5 +1,5 @@
# Compiler flags
-CFLAGS = -g -O2 -Wall
+CFLAGS += -Wall
# Libraries to link to
LIB = -ljsw
@@ -10,10 +10,6 @@
# Include paths
INC_DIRS =
-# Compiler
-CC = gcc
-CPP = g++
-
# Utilities
RM = rm
RMFLAGS = -f
@@ -25,22 +21,23 @@
axis:
@echo "Compiling program \"axis\""
- @$(CC) axis.c -o axis $(CFLAGS) $(LIB) $(LIB_DIRS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) axis.c -o axis $(LIB) $(LIB_DIRS)
basic:
@echo "Compiling program \"basic\""
- @$(CC) basic.c -o basic $(CFLAGS) $(LIB) $(LIB_DIRS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) basic.c -o basic $(LIB) $(LIB_DIRS)
button:
@echo "Compiling program \"button\""
- @$(CC) button.c -o button $(CFLAGS) $(LIB) $(LIB_DIRS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) button.c -o button $(LIB) $(LIB_DIRS)
listing:
@echo "Compiling program \"listing\""
- @$(CC) listing.c -o listing $(CFLAGS) $(LIB) $(LIB_DIRS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) listing.c -o listing $(LIB) $(LIB_DIRS)
+
waitbtn:
@echo "Compiling program \"waitbtn\""
- @$(CC) waitbtn.c -o waitbtn $(CFLAGS) $(LIB) $(LIB_DIRS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) waitbtn.c -o waitbtn $(LIB) $(LIB_DIRS)
# Clean up intermediate files
clean:
--- a/libjsw/Makefile
+++ b/libjsw/Makefile
@@ -51,17 +51,15 @@
# to debug the program.
#
-CFLAGS = -Wall -O2 -g
-CFLAGS += -ffast-math
-
-CPPFLAGS = -D__cplusplus
+CFLAGS += -fPIC
+CXXFLAGS += -fPIC
# ########################################################################
# Dependant Libraries:
#
INC_DIRS =
-LIBS = -shared
+LIBS = -shared -Wl,-soname,libjsw.so.1
LIB_DIRS =
@@ -76,18 +74,13 @@
LS = ls
LSFLAGS = -s -h -c --color=auto
-CC = cc
-CPP = c++
LIB = $(LIBPFX).so.$(LIBVER)
OBJ_C = $(SRC_C:.c=.o)
OBJ_CPP = $(SRC_CPP:.cpp=.o)
.c.o:
- @echo "Compiling module $*.o"
- @+$(CC) -c $*.c $(INC_DIRS) $(CFLAGS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(INC_DIRS) -c $< -o $@
.cpp.o:
- @echo "Compiling module $*.o"
- @+$(CPP) -c $*.cpp $(INC_DIRS) $(CFLAGS) $(CPPFLAGS)
-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INC_DIRS) -c $< -o $@
# ########################################################################
# Build Rules:
@@ -95,13 +88,7 @@
$(LIB): prebuild modules postbuild
modules: $(OBJ_C) $(OBJ_CPP)
- @echo -n "Linking modules..."
- @$(CC) $(OBJ_C) $(OBJ_CPP) -Wl,-soname=$(LIB) -shared -o $(LIB) $(LIBS) $(LIB_DIRS)
- @echo -n " "
- @$(RM) $(RMFLAGS) $(LIBPFX).so
- @$(LINK) -s $(LIB) $(LIBPFX).so
- @$(LINK) -s $(LIB) $(LIBPFX).so.1
- @-$(LS) $(LSFLAGS) $(LIB)
+ $(CXX) $(LDFLAGS) $(OBJ_C) $(OBJ_CPP) -o $(LIB) $(LIBS) $(LIB_DIRS)
prebuild:
@echo "Building library \"$(LIB)\"..."

View File

@@ -1,8 +1,9 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils multilib
EAPI=7
inherit toolchain-funcs
DESCRIPTION="provide a uniform API and user configuration for joysticks and game controllers"
HOMEPAGE="http://freshmeat.net/projects/libjsw/"
@@ -11,34 +12,37 @@ SRC_URI="http://wolfsinger.com/~wolfpack/packages/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc ~ppc64 x86"
IUSE=""
DEPEND=""
PATCHES=(
"${FILESDIR}"/${P}-build.patch # 724664
)
src_prepare() {
cp include/jsw.h libjsw/
epatch "${FILESDIR}"/${P}-build.patch
default
cp include/jsw.h libjsw/ || die
bunzip2 libjsw/man/* || die
}
src_configure() {
tc-export CC CXX
}
src_compile() {
LDFLAGS+=" -Wl,-soname,libjsw.so.1"
cd libjsw
emake
ln -s libjsw.so.${PV} libjsw.so
emake -C libjsw
}
src_install() {
insinto /usr/include
doins include/jsw.h
doheader include/jsw.h
dodoc README
docinto jswdemos
dodoc jswdemos/*
dodoc -r jswdemos
docompress -x /usr/share/doc/${PF}/jswdemos
cd "${S}"/libjsw
cd libjsw || die
dolib.so libjsw.so.${PV}
dosym libjsw.so.${PV} /usr/$(get_libdir)/libjsw.so
dosym libjsw.so.${PV} /usr/$(get_libdir)/libjsw.so.1
doman man/*
}