musl-1.2.4-libcompat_time32.patch 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --- a/Makefile
  2. +++ b/Makefile
  3. @@ -28,6 +28,10 @@ ARCH_OBJS = $(patsubst $(srcdir)/%,%.o,$
  4. REPLACED_OBJS = $(sort $(subst /$(ARCH)/,/,$(ARCH_OBJS)))
  5. ALL_OBJS = $(addprefix obj/, $(filter-out $(REPLACED_OBJS), $(sort $(BASE_OBJS) $(ARCH_OBJS))))
  6. +LIBCOMPAT_SRCS = $(wildcard $(srcdir)/compat/time32/*32.c)
  7. +LIBCOMPAT_OBJS = $(LIBCOMPAT_SRCS:$(srcdir)/%.c=obj/%.o)
  8. +LIBCOMPAT_OBJ_DIRS = $(sort $(patsubst %/,%,$(dir $(LIBCOMPAT_OBJS))))
  9. +
  10. LIBC_OBJS = $(filter obj/src/%,$(ALL_OBJS)) $(filter obj/compat/%,$(ALL_OBJS))
  11. LDSO_OBJS = $(filter obj/ldso/%,$(ALL_OBJS:%.o=%.lo))
  12. CRT_OBJS = $(filter obj/crt/%,$(ALL_OBJS))
  13. @@ -64,7 +68,7 @@ ALL_INCLUDES = $(sort $(INCLUDES:$(srcdi
  14. EMPTY_LIB_NAMES = m rt pthread crypt util xnet resolv dl
  15. EMPTY_LIBS = $(EMPTY_LIB_NAMES:%=lib/lib%.a)
  16. CRT_LIBS = $(addprefix lib/,$(notdir $(CRT_OBJS)))
  17. -STATIC_LIBS = lib/libc.a
  18. +STATIC_LIBS = lib/libc.a lib/libcompat_time32.a
  19. SHARED_LIBS = lib/libc.so
  20. TOOL_LIBS = lib/musl-gcc.specs
  21. ALL_LIBS = $(CRT_LIBS) $(STATIC_LIBS) $(SHARED_LIBS) $(EMPTY_LIBS) $(TOOL_LIBS)
  22. @@ -149,6 +153,9 @@ obj/%.o: $(srcdir)/%.S
  23. obj/%.o: $(srcdir)/%.c $(GENH) $(IMPH)
  24. $(CC_CMD)
  25. +obj/%.o: $(srcdir)/%.c
  26. + $(CC_CMD) -pedantic -D'weak_alias(a,b)=' -c -o $@ $<
  27. +
  28. obj/%.lo: $(srcdir)/%.s
  29. $(AS_CMD)
  30. @@ -167,6 +174,16 @@ lib/libc.a: $(AOBJS)
  31. $(AR) rc $@ $(AOBJS)
  32. $(RANLIB) $@
  33. +lib/libcompat_time32.a: $(LIBCOMPAT_OBJS)
  34. + rm -f $@
  35. + $(AR) rc $@ $(LIBCOMPAT_OBJS)
  36. + $(RANLIB) $@
  37. +
  38. +$(LIBCOMPAT_OBJS): | $(LIBCOMPAT_OBJ_DIRS) $(srcdir)/.
  39. +
  40. +$(LIBCOMPAT_OBJ_DIRS):
  41. + mkdir -p $@
  42. +
  43. $(EMPTY_LIBS):
  44. rm -f $@
  45. $(AR) rc $@