0001-static-build.patch 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. Add support for static only build
  2. This patch adds support for a BUILD_SHARED_LIB variable that allows to
  3. enable/disable the build of the shared library, in order to support
  4. static-only builds.
  5. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  6. Index: b/Makefile
  7. ===================================================================
  8. --- a/Makefile
  9. +++ b/Makefile
  10. @@ -85,6 +85,9 @@
  11. # Build and install static library
  12. BUILD_STATIC_LIB := 1
  13. +# Build and install shared library
  14. +BUILD_SHARED_LIB := 1
  15. +
  16. # Set these to add preprocessor or compiler flags, or use
  17. # environment variables
  18. # CFLAGS :=
  19. Index: b/lib/Module.mk
  20. ===================================================================
  21. --- a/lib/Module.mk
  22. +++ b/lib/Module.mk
  23. @@ -43,8 +43,14 @@
  24. LIBSTLIBNAME := libsensors.a
  25. LIBSHSONAME := libsensors.so.$(LIBMAINVER)
  26. +ifeq ($(BUILD_SHARED_LIB),1)
  27. LIBTARGETS := $(MODULE_DIR)/$(LIBSHLIBNAME) \
  28. $(MODULE_DIR)/$(LIBSHSONAME) $(MODULE_DIR)/$(LIBSHBASENAME)
  29. +LIBDEP_FOR_PROGS := $(LIBSHBASENAME)
  30. +else
  31. +LIBDEP_FOR_PROGS := $(LIBSTLIBNAME)
  32. +endif
  33. +
  34. ifeq ($(BUILD_STATIC_LIB),1)
  35. LIBTARGETS += $(MODULE_DIR)/$(LIBSTLIBNAME)
  36. endif
  37. @@ -131,9 +137,11 @@
  38. ifeq ($(BUILD_STATIC_LIB),1)
  39. $(INSTALL) -m 644 $(LIB_DIR)/$(LIBSTLIBNAME) $(DESTDIR)$(LIBDIR)
  40. endif
  41. +ifeq ($(BUILD_SHARED_LIB),1)
  42. $(INSTALL) -m 755 $(LIB_DIR)/$(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR)
  43. $(LN) $(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBSHSONAME)
  44. $(LN) $(LIBSHSONAME) $(DESTDIR)$(LIBDIR)/$(LIBSHBASENAME)
  45. +endif
  46. @if [ -z "$(DESTDIR)" -a "$(LIBDIR)" != "/usr/lib" -a "$(LIBDIR)" != "/lib" ] ; then \
  47. if [ -e "/usr/lib/$(LIBSHSONAME)" -o -e "/usr/lib/$(LIBSHBASENAME)" ] ; then \
  48. echo '******************************************************************************' ; \
  49. Index: b/prog/sensord/Module.mk
  50. ===================================================================
  51. --- a/prog/sensord/Module.mk
  52. +++ b/prog/sensord/Module.mk
  53. @@ -41,7 +41,7 @@
  54. REMOVESENSORDBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(SBINDIR)/%,$(PROGSENSORDTARGETS))
  55. REMOVESENSORDMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGSENSORDMAN8DIR)/%,$(PROGSENSORDMAN8FILES))
  56. -$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBSHBASENAME)
  57. +$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS)
  58. $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORDSOURCES:.c=.ro) -Llib -lsensors -lrrd
  59. all-prog-sensord: $(PROGSENSORDTARGETS)
  60. Index: b/prog/sensors/Module.mk
  61. ===================================================================
  62. --- a/prog/sensors/Module.mk
  63. +++ b/prog/sensors/Module.mk
  64. @@ -39,8 +39,8 @@
  65. LIBICONV := $(shell if /sbin/ldconfig -p | grep -q '/libiconv\.so$$' ; then echo \-liconv; else echo; fi)
  66. -$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBSHBASENAME)
  67. - $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors
  68. +$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS)
  69. + $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -lm
  70. all-prog-sensors: $(PROGSENSORSTARGETS)
  71. user :: all-prog-sensors