Merged the gen-pkg-config branch

This commit is contained in:
Andrew Johnson
2014-09-26 10:13:01 -05:00
6 changed files with 102 additions and 7 deletions

View File

@@ -51,5 +51,28 @@ PERL_SCRIPTS += dbdExpand.pl
PERL_SCRIPTS += dbdToHtml.pl
PERL_SCRIPTS += registerRecordDeviceDriver.pl
# Build Package Config Files
FINAL_LOCATION ?= $(shell $(PERL) $(TOOLS)/fullPathName.pl $(INSTALL_LOCATION))
C_CFLAGS += $(filter-out -g,$(filter-out -O%,$(filter-out -W%,$(CPPFLAGS))))
C_CFLAGS += $(filter-out -g,$(filter-out -O%,$(filter-out -W%,$(CFLAGS))))
PKGVARS += FINAL_LOCATION OS_CLASS CMPLR_CLASS C_CFLAGS LDFLAGS LDLIBS
PKGVARS += EPICS_VERSION EPICS_REVISION EPICS_MODIFICATION EPICS_PATCH_LEVEL
PKGVARS += CC CCC CPP AR LD
PKGVARS += EPICS_BASE_IOC_LIBS
EXPANDFLAGS += $(foreach var,$(PKGVARS),-D$(var)="$(strip $($(var)))")
PKGCONFIG += epics-base-$(T_A).pc
ifeq ($(T_A),$(EPICS_HOST_ARCH))
PKGCONFIG += epics-base.pc
endif
EXPAND += $(PKGCONFIG:%=%@)
CLEANS += epics-base-$(T_A).pc@
include $(TOP)/configure/RULES
epics-base-$(T_A).pc@: ../epics-base-arch.pc@
@$(RM) $@
@$(CP) $< $@

View File

@@ -0,0 +1,41 @@
# standard variables
prefix=@FINAL_LOCATION@
exec_prefix=${prefix}
bindir=${prefix}/bin/@ARCH@
libdir=${prefix}/lib/@ARCH@
# non-standard variables
# EPICS Base install location
FINAL_LOCATION=${prefix}
ARCH=@ARCH@
OS_CLASS=@OS_CLASS@
CMPLR_CLASS=@CMPLR_CLASS@
EPICS_BASE_IOC_LIBS=@EPICS_BASE_IOC_LIBS@
# Directories
includedir_osi=${prefix}/include
includedir_osd=${prefix}/include/os/@OS_CLASS@
includedir_comp=${prefix}/include/compiler/@CMPLR_CLASS@
includedirs=${includedir_osi} ${includedir_osd} ${includedir_comp}
dbddir=${prefix}/dbd
dbdir=${prefix}/db
# Tool chain
CC=@CC@
CXX=@CCC@
CPP=@CPP@
AR=@AR@
LD=@LD@
Name: epics-base-@ARCH@
Version: @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_PATCH_LEVEL@
Description: EPICS Base for @ARCH@
Cflags: -I${includedir_osi} -I${includedir_osd} -I${includedir_comp} @C_CFLAGS@
Libs: -L${libdir} @LDFLAGS@
Libs.private: @LDLIBS@

29
src/tools/epics-base.pc@ Normal file
View File

@@ -0,0 +1,29 @@
# standard variables
prefix=@FINAL_LOCATION@
exec_prefix=${prefix}
bindir=${prefix}/bin/@ARCH@
libdir=${prefix}/lib/@ARCH@
# non-standard variables
# EPICS Base install location
FINAL_LOCATION=${prefix}
ARCH=@ARCH@
OS_CLASS=@OS_CLASS@
CMPLR_CLASS=@CMPLR_CLASS@
# Directories
includedir_osi=${prefix}/include
includedir_osd=${prefix}/include/os/@OS_CLASS@
includedir_comp=${prefix}/include/compiler/@CMPLR_CLASS@
includedirs=${includedir_osi} ${includedir_osd} ${includedir_comp}
dbddir=${prefix}/dbd
dbdir=${prefix}/db
Name: epics-base
Version: @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_PATCH_LEVEL@
Description: EPICS Base for the host arch
Requires: epics-base-@ARCH@ = @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_PATCH_LEVEL@

View File

@@ -49,9 +49,9 @@ expandRelease(\%vars);
$vars{'ARCH'} = $opt_a if $opt_a;
while ($_ = shift @opt_D) {
my ($var, $val) = split /=/;
$vars{$var} = $val;
print "$var = $val\n" if $opt_d;
m/^ (\w+) \s* = \s* (.*) $/x;
$vars{$1} = $2;
print "$1 = $2\n" if $opt_d;
}
# Do it!