Browse Source

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).
pull/20/head
Palmer Dabbelt 11 years ago
parent
commit
126beb482f
  1. 10
      Makefile.in
  2. 6
      configure.ac
  3. 11
      riscv-dummy_rocc.pc.in
  4. 11
      riscv-hwacha.pc.in
  5. 11
      riscv-riscv.pc.in
  6. 11
      riscv-softfloat.pc.in
  7. 10
      riscv-spike.pc.in
  8. 12
      riscv-spike_main.pc.in

10
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) && \

6
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

11
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

11
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

11
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

11
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

10
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

12
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
Loading…
Cancel
Save