File: 10_libxnvctrl_so_0.diff

package info (click to toggle)
nvidia-settings-legacy-304xx 304.123-2
  • links: PTS, VCS
  • area: contrib
  • in suites: jessie, jessie-kfreebsd
  • size: 8,948 kB
  • ctags: 6,996
  • sloc: ansic: 114,684; makefile: 239; sh: 77
file content (55 lines) | stat: -rw-r--r-- 1,527 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Author: Andreas Beckmann <debian@abeckmann.de>
Description: build a shared library for libXNVCtrl
Bug-Debian: http://bugs.debian.org/666909

--- a/src/Makefile
+++ b/src/Makefile
@@ -68,6 +68,9 @@
 
 XNVCTRL_DIR           ?= libXNVCtrl
 XNVCTRL_ARCHIVE       ?= $(XNVCTRL_DIR)/libXNVCtrl.a
+XNVCTRL_SHARED        ?= $(XNVCTRL_DIR)/libXNVCtrl.so.0
+XNVCTRL_LIB           ?= $(XNVCTRL_ARCHIVE)
+#XNVCTRL_LIB          ?= $(XNVCTRL_SHARED)
 XCONFIG_PARSER_DIR    ?= XF86Config-parser
 COMMON_UTILS_DIR      ?= common-utils
 
@@ -157,9 +160,12 @@
 	$(MKDIR) $(BINDIR)
 	$(INSTALL) $(INSTALL_BIN_ARGS) $< $(BINDIR)/$(notdir $<)
 
-$(NVIDIA_SETTINGS): $(OBJS) $(XNVCTRL_ARCHIVE)
+$(XNVCTRL_ARCHIVE) $(XNVCTRL_SHARED):
+	$(MAKE) -C $(XNVCTRL_DIR)
+
+$(NVIDIA_SETTINGS): $(OBJS) $(XNVCTRL_LIB)
 	$(call quiet_cmd,LINK) $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) -o $@ $(OBJS) \
-	    $(XNVCTRL_ARCHIVE) $(LIBS)
+	    $(XNVCTRL_LIB) $(LIBS)
 	$(call quiet_cmd,STRIP_CMD) $@
 
 # define the rule to build each object file
--- a/src/libXNVCtrl/Makefile
+++ b/src/libXNVCtrl/Makefile
@@ -22,12 +22,21 @@
 RANLIB ?= ranlib
 CFLAGS += -fPIC
 
+all: libXNVCtrl.a #libXNVCtrl.so
+
 libXNVCtrl.a : libXNVCtrl.a(NVCtrl.o)
 	$(RANLIB) $@
 
+libXNVCtrl.so: NVCtrl.o
+	$(RM) $@ $@.*
+	$(CC) -shared -Wl,-soname=$@.0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11
+	ln -s $@.0.0.0 $@.0
+	ln -s $@.0 $@
+
 NVCtrl.o : NVCtrl.h nv_control.h NVCtrlLib.h
 .INTERMEDIATE: NVCtrl.o
 
 clean ::
 	rm -f libXNVCtrl.a *.o
+	rm -f libXNVCtrl.so libXNVCtrl.so.*
 .PHONY: clean