From 126beb482ff62c31cfde36cc1a3d06f15d13a873 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Wed, 13 May 2015 14:54:24 -0700 Subject: [PATCH] Install pkg-config files for Spike The actual Spike package consists of a whole bunch of libraries. This installs a pkg-config file for each generated library, and a meta pkg-config file (riscv-spike.pc) that links in all the other Spike libraries except dummy_rocc (which I figure isn't interesting). This allows me to package and install spike, and then use that package to build an extension library (so I don't have to fork Spike for my own ISA extension). --- Makefile.in | 10 +++++++++- configure.ac | 6 ++++++ riscv-dummy_rocc.pc.in | 11 +++++++++++ riscv-hwacha.pc.in | 11 +++++++++++ riscv-riscv.pc.in | 11 +++++++++++ riscv-softfloat.pc.in | 11 +++++++++++ riscv-spike.pc.in | 10 ++++++++++ riscv-spike_main.pc.in | 12 ++++++++++++ 8 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 riscv-dummy_rocc.pc.in create mode 100644 riscv-hwacha.pc.in create mode 100644 riscv-riscv.pc.in create mode 100644 riscv-softfloat.pc.in create mode 100644 riscv-spike.pc.in create mode 100644 riscv-spike_main.pc.in diff --git a/Makefile.in b/Makefile.in index 1d8d9b2..4dfc07b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -307,6 +307,7 @@ test_outs += $$($(2)_test_outs) install_hdrs += $$(addprefix $(src_dir)/$(1)/, $$($(2)_hdrs)) $$($(2)_gen_hdrs) install_libs += lib$(1).so install_exes += $$($(2)_install_prog_exes) +install_pcs += riscv-$(1).pc endef @@ -358,7 +359,14 @@ install-exes : $(install_exes) $(INSTALL_EXE) $$file $(install_exes_dir); \ done -install : install-hdrs install-libs install-exes +install-pc : $(install_pcs) + $(MKINSTALLDIRS) $(install_libs_dir)/pkgconfig/ + for file in $^; \ + do \ + $(INSTALL_HDR) $$file $(install_libs_dir)/pkgconfig/; \ + done + +install : install-hdrs install-libs install-exes install-pc ifeq ($(enable_stow),yes) $(MKINSTALLDIRS) $(stow_pkg_dir) cd $(stow_pkg_dir) && \ diff --git a/configure.ac b/configure.ac index 03b5048..d0c26b6 100644 --- a/configure.ac +++ b/configure.ac @@ -100,4 +100,10 @@ MCPPBS_SUBPROJECTS([ riscv, hwacha, dummy_rocc, softfloat, spike_main ]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([riscv-spike.pc]) +AC_CONFIG_FILES([riscv-riscv.pc]) +AC_CONFIG_FILES([riscv-hwacha.pc]) +AC_CONFIG_FILES([riscv-softfloat.pc]) +AC_CONFIG_FILES([riscv-dummy_rocc.pc]) +AC_CONFIG_FILES([riscv-spike_main.pc]) AC_OUTPUT diff --git a/riscv-dummy_rocc.pc.in b/riscv-dummy_rocc.pc.in new file mode 100644 index 0000000..31635f6 --- /dev/null +++ b/riscv-dummy_rocc.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@prefix@ +libdir=${prefix}/@libdir@ +includedir=${prefix}/@includedir@ + +Name: riscv-dummy_rocc +Description: Example RISC-V ROCC accelerator +Version: git +Libs: -Wl,-rpath,${libdir} -L${libdir} -ldummy_rocc +Cflags: -I${includedir} +URL: http://riscv.org/download.html#tab_spike diff --git a/riscv-hwacha.pc.in b/riscv-hwacha.pc.in new file mode 100644 index 0000000..cad4e29 --- /dev/null +++ b/riscv-hwacha.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@prefix@ +libdir=${prefix}/@libdir@ +includedir=${prefix}/@includedir@ + +Name: riscv-hwacha +Description: RISC-V Hwacha binary library +Version: git +Libs: -Wl,-rpath,${libdir} -L${libdir} -lhwacha +Cflags: -I${includedir} +URL: http://riscv.org/download.html#tab_spike diff --git a/riscv-riscv.pc.in b/riscv-riscv.pc.in new file mode 100644 index 0000000..5e86b1c --- /dev/null +++ b/riscv-riscv.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@prefix@ +libdir=${prefix}/@libdir@ +includedir=${prefix}/@includedir@ + +Name: riscv-riscv +Description: RISC-V +Version: git +Libs: -Wl,-rpath,${libdir} -L${libdir} -lriscv +Cflags: -I${includedir} +URL: http://riscv.org/download.html#tab_spike diff --git a/riscv-softfloat.pc.in b/riscv-softfloat.pc.in new file mode 100644 index 0000000..6b18e88 --- /dev/null +++ b/riscv-softfloat.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@prefix@ +libdir=${prefix}/@libdir@ +includedir=${prefix}/@includedir@ + +Name: riscv-softfloat +Description: RISC-V softfloat library +Version: git +Libs: -Wl,-rpath,${libdir} -L${libdir} -lsoftfloat +Cflags: -I${includedir} +URL: http://riscv.org/download.html#tab_spike diff --git a/riscv-spike.pc.in b/riscv-spike.pc.in new file mode 100644 index 0000000..ee2ab99 --- /dev/null +++ b/riscv-spike.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@prefix@ +libdir=${prefix}/@libdir@ +includedir=${prefix}/@includedir@ + +Name: riscv-spike +Description: RISC-V spike meta library +Version: git +Depends: riscv-spike_main riscv-riscv riscv-hwacha riscv-softfloat +URL: http://riscv.org/download.html#tab_spike diff --git a/riscv-spike_main.pc.in b/riscv-spike_main.pc.in new file mode 100644 index 0000000..14a6f65 --- /dev/null +++ b/riscv-spike_main.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@prefix@ +libdir=${prefix}/@libdir@ +includedir=${prefix}/@includedir@ + +Name: riscv-spike_main +Description: RISC-V ISA simulator library +Version: git +Depends: riscv-riscv riscv-hwacha riscv-softfloat +Libs: -Wl,-rpath,${libdir} -L${libdir} -lspike_main +Cflags: -I${includedir} +URL: http://riscv.org/download.html#tab_spike -- 2.30.2