0001-parallel-make.patch 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. Fix parallel build
  2. This patch is a partial backport of
  3. https://github.com/libusb/libusb/commit/3dc781ce3ecd0315cfc0b4fdcef9e062990f289b
  4. Signed-off-by: Jeroen Roovers <jer@airfi.aero>
  5. --- a/configure.ac
  6. +++ b/configure.ac
  7. @@ -36,6 +36,7 @@ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RU
  8. AC_PREREQ([2.50])
  9. AC_PROG_CC
  10. +AC_PROG_CXX
  11. LT_INIT
  12. LT_LANG([Windows Resource])
  13. AC_C_INLINE
  14. @@ -91,7 +92,6 @@ case $host in
  15. ;;
  16. *-haiku*)
  17. AC_MSG_RESULT([Haiku])
  18. - AC_CONFIG_SUBDIRS([libusb/os/haiku])
  19. backend="haiku"
  20. threads="posix"
  21. ;;
  22. @@ -193,6 +193,7 @@ AM_CONDITIONAL(OS_HAIKU, test "x$backend
  23. AM_CONDITIONAL(THREADS_POSIX, test "x$threads" = xposix)
  24. AM_CONDITIONAL(CREATE_IMPORT_LIB, test "x$create_import_lib" = "xyes")
  25. AM_CONDITIONAL(USE_UDEV, test "x$enable_udev" = xyes)
  26. +AM_CONDITIONAL(USE_USBDK, test "x$enable_usbdk" = xyes)
  27. if test "$threads" = posix; then
  28. AC_DEFINE(THREADS_POSIX, 1, [Use POSIX Threads])
  29. fi
  30. --- a/libusb/Makefile.am
  31. +++ b/libusb/Makefile.am
  32. @@ -4,58 +4,66 @@ AUTOMAKE_OPTIONS = subdir-objects
  33. lib_LTLIBRARIES = libusb-1.0.la
  34. -POSIX_POLL_SRC = os/poll_posix.c
  35. -LINUX_USBFS_SRC = os/linux_usbfs.c
  36. -DARWIN_USB_SRC = os/darwin_usb.c
  37. +POSIX_POLL_SRC = os/poll_posix.h os/poll_posix.c
  38. +POSIX_THREADS_SRC = os/threads_posix.h os/threads_posix.c
  39. +WINDOWS_POLL_SRC = os/poll_windows.h os/poll_windows.c
  40. +WINDOWS_THREADS_SRC = os/threads_windows.h os/threads_windows.c
  41. +LINUX_USBFS_SRC = os/linux_usbfs.h os/linux_usbfs.c
  42. +DARWIN_USB_SRC = os/darwin_usb.h os/darwin_usb.c
  43. OPENBSD_USB_SRC = os/openbsd_usb.c
  44. NETBSD_USB_SRC = os/netbsd_usb.c
  45. -WINDOWS_USB_SRC = os/poll_windows.c os/windows_usb.c libusb-1.0.rc libusb-1.0.def
  46. -WINCE_USB_SRC = os/wince_usb.c os/wince_usb.h
  47. -
  48. -DIST_SUBDIRS =
  49. -
  50. -EXTRA_DIST = $(LINUX_USBFS_SRC) $(DARWIN_USB_SRC) $(OPENBSD_USB_SRC) \
  51. - $(NETBSD_USB_SRC) $(WINDOWS_USB_SRC) $(WINCE_USB_SRC) \
  52. - $(POSIX_POLL_SRC) \
  53. - os/threads_posix.c os/threads_windows.c \
  54. +WINDOWS_COMMON_SRC = os/windows_nt_common.h os/windows_nt_common.c \
  55. + os/windows_common.h libusb-1.0.rc libusb-1.0.def
  56. +WINDOWS_USB_SRC = os/windows_winusb.h os/windows_winusb.c
  57. +WINDOWS_USBDK_SRC = os/windows_usbdk.h os/windows_usbdk.c
  58. +WINCE_USB_SRC = os/wince_usb.h os/wince_usb.c
  59. +HAIKU_USB_SRC = os/haiku_usb.h os/haiku_usb_backend.cpp \
  60. + os/haiku_usb_raw.h os/haiku_usb_raw.cpp os/haiku_pollfs.cpp
  61. +
  62. +EXTRA_DIST = $(POSIX_POLL_SRC) $(POSIX_THREADS_SRC) \
  63. + $(WINDOWS_POLL_SRC) $(WINDOWS_THREADS_SRC) \
  64. + $(LINUX_USBFS_SRC) $(DARWIN_USB_SRC) \
  65. + $(OPENBSD_USB_SRC) $(NETBSD_USB_SRC) \
  66. + $(WINDOWS_COMMON_SRC) $(WINDOWS_USB_SRC) $(WINDOWS_USBDK_SRC) \
  67. + $(WINCE_USB_SRC) $(HAIKU_USB_SRC) \
  68. os/linux_udev.c os/linux_netlink.c
  69. -dist-hook:
  70. - cp -r os/haiku $(distdir)/os/haiku
  71. - rm -rf $(distdir)/os/haiku/autom4te.cache
  72. -
  73. if OS_LINUX
  74. if USE_UDEV
  75. -OS_SRC = $(LINUX_USBFS_SRC) $(POSIX_POLL_SRC) \
  76. - os/linux_udev.c
  77. +OS_SRC = $(LINUX_USBFS_SRC) os/linux_udev.c
  78. else
  79. -OS_SRC = $(LINUX_USBFS_SRC) $(POSIX_POLL_SRC) \
  80. - os/linux_netlink.c
  81. +OS_SRC = $(LINUX_USBFS_SRC) os/linux_netlink.c
  82. endif
  83. endif
  84. if OS_DARWIN
  85. -OS_SRC = $(DARWIN_USB_SRC) $(POSIX_POLL_SRC)
  86. +OS_SRC = $(DARWIN_USB_SRC)
  87. AM_CFLAGS_EXT = -no-cpp-precomp
  88. endif
  89. if OS_OPENBSD
  90. -OS_SRC = $(OPENBSD_USB_SRC) $(POSIX_POLL_SRC)
  91. +OS_SRC = $(OPENBSD_USB_SRC)
  92. endif
  93. if OS_NETBSD
  94. -OS_SRC = $(NETBSD_USB_SRC) $(POSIX_POLL_SRC)
  95. +OS_SRC = $(NETBSD_USB_SRC)
  96. endif
  97. if OS_HAIKU
  98. -OS_SRC = $(POSIX_POLL_SRC)
  99. -SUBDIRS = os/haiku
  100. +noinst_LTLIBRARIES = libusb_haiku.la
  101. +libusb_haiku_la_SOURCES = $(HAIKU_USB_SRC)
  102. +libusb_1_0_la_LIBADD = libusb_haiku.la
  103. endif
  104. if OS_WINDOWS
  105. -OS_SRC = $(WINDOWS_USB_SRC)
  106. +
  107. +if USE_USBDK
  108. +OS_SRC = $(WINDOWS_USBDK_SRC) $(WINDOWS_COMMON_SRC)
  109. +else
  110. +OS_SRC = $(WINDOWS_USB_SRC) $(WINDOWS_COMMON_SRC)
  111. +endif
  112. .rc.lo:
  113. $(AM_V_GEN)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --tag=RC --mode=compile $(RC) $(RCFLAGS) -i $< -o $@
  114. @@ -69,22 +77,23 @@ if CREATE_IMPORT_LIB
  115. $(AM_V_GEN)$(DLLTOOL) $(DLLTOOLFLAGS) --kill-at --input-def $(srcdir)/libusb-1.0.def --dllname $@ --output-lib .libs/$@.a
  116. endif
  117. +if OS_WINDOWS
  118. +POLL_SRC = $(WINDOWS_POLL_SRC)
  119. +else
  120. +POLL_SRC = $(POSIX_POLL_SRC)
  121. +endif
  122. +
  123. if THREADS_POSIX
  124. -THREADS_SRC = os/threads_posix.h os/threads_posix.c
  125. +THREADS_SRC = $(POSIX_THREADS_SRC)
  126. else
  127. -THREADS_SRC = os/threads_windows.h os/threads_windows.c
  128. +THREADS_SRC = $(WINDOWS_THREADS_SRC)
  129. endif
  130. libusb_1_0_la_CFLAGS = $(AM_CFLAGS)
  131. libusb_1_0_la_LDFLAGS = $(LTLDFLAGS)
  132. -libusb_1_0_la_SOURCES = libusbi.h core.c descriptor.c io.c strerror.c sync.c \
  133. - os/linux_usbfs.h os/darwin_usb.h os/windows_usb.h os/windows_common.h \
  134. - hotplug.h hotplug.c $(THREADS_SRC) $(OS_SRC) \
  135. - os/poll_posix.h os/poll_windows.h
  136. -
  137. -if OS_HAIKU
  138. -libusb_1_0_la_LIBADD = os/haiku/libhaikuusb.la
  139. -endif
  140. +libusb_1_0_la_SOURCES = libusbi.h libusb.h version.h version_nano.h \
  141. + core.c descriptor.c hotplug.h hotplug.c io.c strerror.c sync.c \
  142. + $(POLL_SRC) $(THREADS_SRC) $(OS_SRC)
  143. hdrdir = $(includedir)/libusb-1.0
  144. hdr_HEADERS = libusb.h