-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaegisub-luajit.patch
178 lines (157 loc) · 6.04 KB
/
aegisub-luajit.patch
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
From a95b4c7875a45a67aab0af44869b8b852d4c31f8 Mon Sep 17 00:00:00 2001
From: scx <[email protected]>
Date: Sat, 7 Sep 2019 22:35:09 +0200
Subject: [PATCH] Fix system luajit
http://devel.aegisub.org/ticket/1904
http://devel.aegisub.org/ticket/1913
http://devel.aegisub.org/ticket/1922
---
Makefile.inc.in | 13 +++++++++++++
automation/Makefile | 8 +++++++-
configure.ac | 6 ++++--
header.mk | 7 +++++--
src/Makefile | 7 +++++++
src/libresrc/Makefile | 4 ++++
tools/Makefile | 2 ++
7 files changed, 42 insertions(+), 5 deletions(-)
diff --git a/Makefile.inc.in b/Makefile.inc.in
index a8c0e0c48..63726d639 100644
--- a/Makefile.inc.in
+++ b/Makefile.inc.in
@@ -9,6 +9,7 @@ HAVE_OPENAL = @with_openal@
HAVE_OSS = @with_oss@
HAVE_PORTAUDIO = @with_portaudio@
HAVE_UCHARDET = @with_uchardet@
+SYSTEM_LUAJIT = @with_system_luajit@
##############
# BUILD OUTPUT
@@ -79,7 +80,11 @@ CFLAGS_ICONV = @ICONV_CFLAGS@
CFLAGS_ICU = @ICU_I18N_CFLAGS@
CFLAGS_LIBASS = @LIBASS_CFLAGS@
CFLAGS_LIBPULSE = @LIBPULSE_CFLAGS@
+ifeq (no, $(SYSTEM_LUAJIT))
CFLAGS_LUA = @LUAJIT_CFLAGS@
+else
+CFLAGS_LUA = `pkg-config --cflags luajit`
+endif
CFLAGS_OPENAL = @OPENAL_CFLAGS@
CFLAGS_OSS = @OSS_CFLAGS@
CFLAGS_PORTAUDIO = @PORTAUDIO_CFLAGS@
@@ -97,14 +102,22 @@ LIBS_ICONV = @ICONV_LIBS@
LIBS_ICU = @ICU_UC_LIBS@ @ICU_I18N_LIBS@
LIBS_LIBASS = @LIBASS_LIBS@
LIBS_LIBPULSE = @LIBPULSE_LIBS@
+ifeq (no, $(SYSTEM_LUAJIT))
LIBS_LUA = @LUAJIT_LIBS@
+else
+LIBS_LUA = `pkg-config --libs luajit`
+endif
LIBS_OPENAL = @OPENAL_LIBS@
LIBS_PORTAUDIO = @PORTAUDIO_LIBS@
LIBS_PTHREAD = @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
LIBS_UCHARDET = @UCHARDET_LIBS@
ifeq (yes, $(BUILD_DARWIN))
+ifeq (no, $(SYSTEM_LUAJIT))
LIBS_LUA = $(TOP)vendor/luajit/src/libluajit-aegisub.so
+else
+LIBS_LUA = `pkg-config --libs luajit`
+endif
endif
FONTCONFIG_CONF_DIR = @FONTCONFIG_CONF_DIR@
diff --git a/automation/Makefile b/automation/Makefile
index 76c7dd992..658f9c008 100644
--- a/automation/Makefile
+++ b/automation/Makefile
@@ -12,10 +12,16 @@ DATA_AUTOMATION_INSTALLED = $(addprefix $(DESTDIR)$(P_DATA)/automation/, $(DATA_
$(DESTDIR)$(P_DATA)/automation/%: $(d)%
$(MKDIR_INSTALL)
-aegisub-lua_OBJ := $(d)tests/aegisub.o $(TOP)lib/libaegisub.a $(TOP)lib/libluabins.a $(LIBS_LUA)
+aegisub-lua_OBJ := $(d)tests/aegisub.o $(TOP)lib/libaegisub.a $(TOP)lib/libluabins.a
aegisub-lua_CPPFLAGS := $(CPPFLAGS_BOOST) $(CFLAGS_LUA) -I$(TOP)libaegisub/include -I$(TOP)src $(CXXFLAGS_WX)
aegisub-lua_LIBS := $(LIBS_WX) $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_PTHREAD)
+ifeq (no, $(SYSTEM_LUAJIT))
+aegisub-lua_OBJ += $(LIBS_LUA)
+else
+aegisub-lua_LIBS += $(LIBS_LUA)
+endif
+
PROGRAM += $(d)aegisub-lua
test-automation: $(PROGRAM)
diff --git a/configure.ac b/configure.ac
index 58dc23f8d..31a2e4711 100644
--- a/configure.ac
+++ b/configure.ac
@@ -429,13 +429,15 @@ AS_IF([test $with_system_luajit = no],
[AC_SUBST([LUAJIT_CFLAGS], ['-I$(TOP)vendor/luajit/include'])
AC_SUBST([LUAJIT_LIBS], ['$(TOP)vendor/luajit/src/libluajit.a'])])
+AC_SUBST(with_system_luajit)
+
# We also need a Lua binary to run part of the build system
# Which version doesn't matter as the scripts are portable between them
-AC_CHECK_PROGS([LUA], [lua luajit lua5.3 lua-5.3 lua5.2 lua-5.2 lua5.1 lua-5.1])
+AC_PATH_PROGS([LUA], [luajit lua lua5.3 lua-5.3 lua5.2 lua-5.2 lua5.1 lua-5.1])
# If the user doesn't have an installed copy of Lua, just use the one built
# as part of building LuaJIT
-AS_IF([test -z $LUA], [LUA="$srcdir/vendor/luajit/src/host/minilua"])
+AS_IF([test -z $LUA], [LUA='$(TOP)vendor/luajit/src/host/minilua'])
######################################################
# Debugging support
diff --git a/header.mk b/header.mk
index 613b38ff1..8edb48edc 100644
--- a/header.mk
+++ b/header.mk
@@ -12,8 +12,11 @@ subdirs := \
src \
tests \
tools \
- vendor/luabins \
- vendor/luajit
+ vendor/luabins
+
+ifeq (no, $(SYSTEM_LUAJIT))
+subdirs += vendor/luajit
+endif
subdirs := $(addprefix $(TOP),$(addsuffix /Makefile,$(subdirs)))
diff --git a/src/Makefile b/src/Makefile
index 38a809c06..9623ca9a5 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -198,10 +198,17 @@ $(d)subtitles_provider.o_FLAGS := $(CFLAGS_LIBASS)
$(d)subtitles_provider_libass.o_FLAGS := $(CFLAGS_LIBASS) -Wno-c++11-narrowing
$(d)text_file_reader.o_FLAGS := -D_X86_
$(d)video_provider_manager.o_FLAGS := $(CFLAGS_FFMS2)
+ifeq (no, $(SYSTEM_LUAJIT))
$(d)auto4_lua.o_FLAGS := $(CFLAGS_LUA)
$(d)auto4_lua_assfile.o_FLAGS := $(CFLAGS_LUA)
$(d)auto4_lua_dialog.o_FLAGS := $(CFLAGS_LUA)
$(d)auto4_lua_progresssink.o_FLAGS := $(CFLAGS_LUA)
+else
+$(d)auto4_lua.o_FLAGS := `pkg-config --cflags luajit`
+$(d)auto4_lua_assfile.o_FLAGS := `pkg-config --cflags luajit`
+$(d)auto4_lua_dialog.o_FLAGS := `pkg-config --cflags luajit`
+$(d)auto4_lua_progresssink.o_FLAGS := `pkg-config --cflags luajit`
+endif
$(src_OBJ): $(d)libresrc/bitmap.h $(d)libresrc/default_config.h
diff --git a/src/libresrc/Makefile b/src/libresrc/Makefile
index 8b6d19595..6a46186b1 100644
--- a/src/libresrc/Makefile
+++ b/src/libresrc/Makefile
@@ -10,7 +10,11 @@ resrc_OBJ := \
$(resrc_OBJ): $(d)default_config.h $(d)bitmap.h $(d)default_config.cpp $(d)bitmap.cpp
+ifeq (no, $(SYSTEM_LUAJIT))
RESPACK := cd $(TOP)src/libresrc; $(BIN_LUA) $(TOP)tools/respack.lua
+else
+RESPACK := cd $(TOP)src/libresrc; luajit $(TOP)tools/respack.lua
+endif
$(d)bitmap.cpp: $(d)bitmap.h
$(d)default_config.cpp: $(d)default_config.h
diff --git a/tools/Makefile b/tools/Makefile
index de6166a1e..e17eaa260 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -12,6 +12,8 @@ repack-thes-dict_CPPFLAGS := -I$(TOP) -I$(TOP)libaegisub/include $(CFLAGS_ICU)
PROGRAM += $(d)repack-thes-dict
+ifeq (no, $(SYSTEM_LUAJIT))
$(TOP)tools/respack.lua: $(shell command -v "$(BIN_LUA)")
+endif
include $(TOP)Makefile.target