Cross-Platform build scripts for audio plugins
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
3.5KB

  1. diff -Naur Python-3.8.0-orig/Makefile.pre.in Python-3.8.0/Makefile.pre.in
  2. --- Python-3.8.0-orig/Makefile.pre.in 2019-10-22 10:04:44.812737000 +0300
  3. +++ Python-3.8.0/Makefile.pre.in 2019-10-22 10:04:51.177548200 +0300
  4. @@ -249,6 +249,7 @@
  5. PYTHON= python$(EXE)
  6. BUILDPYTHON= python$(BUILDEXE)
  7. +BUILDPYTHONW= pythonw$(BUILDEXE)
  8. PYTHON_FOR_REGEN=@PYTHON_FOR_REGEN@
  9. UPDATE_FILE=@PYTHON_FOR_REGEN@ $(srcdir)/Tools/scripts/update_file.py
  10. @@ -272,6 +272,8 @@ COVERAGE_INFO= $(abs_builddir)/coverage.info
  11. COVERAGE_REPORT=$(abs_builddir)/lcov-report
  12. COVERAGE_REPORT_OPTIONS=--no-branch-coverage --title "CPython lcov report"
  13. +# tool to generate windows resource files
  14. +WINDRES?= windres
  15. # === Definitions added by makesetup ===
  16. @@ -455,7 +456,7 @@
  17. # Default target
  18. all: @DEF_MAKE_ALL_RULE@
  19. -build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks \
  20. +build_all: check-clean-src $(BUILDPYTHON) $(BUILDPYTHONW) oldsharedmods sharedmods gdbhooks \
  21. Programs/_testembed python-config
  22. # Check that the source is clean when building out of source.
  23. @@ -569,9 +570,27 @@
  24. clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
  25. $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
  26. +pythonnt_rc.h:
  27. + # FIXME: FIELD3 not set
  28. + @echo '#define FIELD3 0' > $@
  29. + @echo '#define MS_DLL_ID "$(VERSION)"' >> $@
  30. + @echo '#define PYTHON_DLL_NAME "$(DLLLIBRARY)"' >> $@
  31. +
  32. +python_exe.o: pythonnt_rc.h $(srcdir)/PC/python_exe.rc
  33. + $(WINDRES) -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_exe.rc $@
  34. +
  35. +pythonw_exe.o: pythonnt_rc.h $(srcdir)/PC/pythonw_exe.rc
  36. + $(WINDRES) -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/pythonw_exe.rc $@
  37. +
  38. +python_nt.o: pythonnt_rc.h $(srcdir)/PC/python_nt.rc
  39. + $(WINDRES) -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@
  40. +
  41. +$(BUILDPYTHONW): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) pythonw_exe.o
  42. + $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -municode -mwindows -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) pythonw_exe.o
  43. +
  44. # Build the interpreter
  45. -$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
  46. - $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
  47. +$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) python_exe.o
  48. + $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -municode -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) python_exe.o
  49. platform: $(BUILDPYTHON) pybuilddir.txt
  50. $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
  51. @@ -677,10 +696,10 @@
  52. # This rule builds the Cygwin Python DLL and import library if configured
  53. # for a shared core library; otherwise, this rule is a noop.
  54. -$(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS)
  55. +$(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) python_nt.o
  56. if test -n "$(DLLLIBRARY)"; then \
  57. $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
  58. - $(LIBS) $(MODLIBS) $(SYSLIBS); \
  59. + $(LIBS) $(MODLIBS) $(SYSLIBS) python_nt.o; \
  60. else true; \
  61. fi
  62. @@ -1246,6 +1265,7 @@
  63. done
  64. if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
  65. $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
  66. + $(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(BINDIR)/python3w$(EXE); \
  67. else \
  68. $(INSTALL_PROGRAM) $(STRIPFLAG) Mac/pythonw $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
  69. fi