This commit is contained in:
Nathan-MV 2024-12-04 16:20:10 -03:00 committed by GitHub
commit 50c04f702a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 123 additions and 27 deletions

View file

@ -32,9 +32,9 @@ jobs:
mingw-w64-x86_64-meson mingw-w64-x86_64-meson
mingw-w64-x86_64-autotools mingw-w64-x86_64-autotools
mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc
mingw-w64-x86_64-libyaml
zip zip
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -66,9 +66,9 @@ jobs:
mkdir build/artifact mkdir build/artifact
cd build/artifact cd build/artifact
cp /mingw64/bin/zlib1.dll . cp /mingw64/bin/zlib1.dll .
cp ../../windows/build-mingw64/bin/x64-msvcrt-ruby310.dll . cp ../../windows/build-mingw64/bin/x64-msvcrt-ruby330.dll .
cp -r ../../windows/build-mingw64/lib/ruby/3.1.0 . cp -r ../../windows/build-mingw64/lib/ruby/3.3.0 .
mv ./3.1.0 ./stdlib mv ./3.3.0 ./stdlib
cp ../mkxp-z.exe . cp ../mkxp-z.exe .
cp ../../mkxp.json . cp ../../mkxp.json .
cp -r ../../scripts . cp -r ../../scripts .
@ -124,8 +124,8 @@ jobs:
- name: Prepare archive - name: Prepare archive
run: | run: |
cd build/local cd build/local
cp -r ../../linux/build-x86_64/lib/ruby/3.1.0 . cp -r ../../linux/build-x86_64/lib/ruby/3.3.0 .
mv ./3.1.0 ./stdlib mv ./3.3.0 ./stdlib
cp ../../mkxp.json . cp ../../mkxp.json .
cp -r ../../scripts . cp -r ../../scripts .
cp ../../assets/LICENSE.mkxp-z-with-https.txt . cp ../../assets/LICENSE.mkxp-z-with-https.txt .
@ -235,8 +235,8 @@ jobs:
- name: Prepare archive - name: Prepare archive
run: | run: |
cd build/local cd build/local
cp -r ../../linux/build-${{matrix.arch_mkxpz}}/lib/ruby/3.1.0 . cp -r ../../linux/build-${{matrix.arch_mkxpz}}/lib/ruby/3.3.0 .
mv ./3.1.0 ./stdlib mv ./3.3.0 ./stdlib
cp ../../mkxp.json . cp ../../mkxp.json .
cp -r ../../scripts . cp -r ../../scripts .
cp ../../assets/LICENSE.mkxp-z-with-https.txt . cp ../../assets/LICENSE.mkxp-z-with-https.txt .

View file

@ -44,10 +44,12 @@ RUBY_CONFIGURE_ARGS := \
--enable-install-static-library \ --enable-install-static-library \
--enable-shared \ --enable-shared \
--disable-install-doc \ --disable-install-doc \
--with-out-ext=openssl,readline,dbm,gdbm \ --with-out-ext=openssl,readline,dbm,gdbm,pty,syslog \
--with-static-linked-ext \ --with-static-linked-ext \
--disable-rubygems \ --disable-rubygems \
--without-gmp --without-gmp \
--with-libyaml-dir="$(shell realpath $(PREFIX))" \
--with-libffi-dir="$(shell realpath $(PREFIX))"
CONFIGURE := $(CONFIGURE_ENV) ./configure $(CONFIGURE_ARGS) CONFIGURE := $(CONFIGURE_ENV) ./configure $(CONFIGURE_ARGS)
AUTOGEN := $(CONFIGURE_ENV) ./autogen.sh $(CONFIGURE_ARGS) AUTOGEN := $(CONFIGURE_ENV) ./autogen.sh $(CONFIGURE_ARGS)
@ -319,10 +321,40 @@ $(DOWNLOADS)/openssl/Makefile: $(DOWNLOADS)/openssl/Configure
$(DOWNLOADS)/openssl/Configure: $(DOWNLOADS)/openssl/Configure:
$(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch openssl-3.0.12 --depth 1 $(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch openssl-3.0.12 --depth 1
# Standard ruby # libyaml
ruby: init_dirs openssl $(LIBDIR)/libruby.so.3.1 libyaml: init_dirs $(LIBDIR)/libyaml.a
$(LIBDIR)/libruby.so.3.1: $(DOWNLOADS)/ruby/Makefile $(LIBDIR)/libyaml.a: $(DOWNLOADS)/libyaml/Makefile
cd $(DOWNLOADS)/libyaml; make -j$(NPROC); make install
$(DOWNLOADS)/libyaml/Makefile: $(DOWNLOADS)/libyaml/configure
cd $(DOWNLOADS)/libyaml; $(CONFIGURE) --disable-shared --enable-static --disable-docs
$(DOWNLOADS)/libyaml/configure: $(DOWNLOADS)/libyaml/configure.ac
cd $(DOWNLOADS)/libyaml; autoreconf -i
$(DOWNLOADS)/libyaml/configure.ac:
$(CLONE) $(GITHUB)/yaml/libyaml $(DOWNLOADS)/libyaml --single-branch --branch 0.2.5 --depth 1
# libffi
libffi: init_dirs $(LIBDIR)/libffi.a
$(LIBDIR)/libffi.a: $(DOWNLOADS)/libffi/Makefile
cd $(DOWNLOADS)/libffi; make -j$(NPROC); make install
$(DOWNLOADS)/libffi/Makefile: $(DOWNLOADS)/libffi/configure
cd $(DOWNLOADS)/libffi; $(CONFIGURE) --disable-shared --enable-static --disable-docs
$(DOWNLOADS)/libffi/configure: $(DOWNLOADS)/libffi/configure.ac
cd $(DOWNLOADS)/libffi; autoreconf -i
$(DOWNLOADS)/libffi/configure.ac:
$(CLONE) $(GITHUB)/libffi/libffi $(DOWNLOADS)/libffi --single-branch --branch v3.4.6 --depth 1
# Standard ruby
ruby: init_dirs openssl libyaml libffi $(LIBDIR)/libruby.so.3.3
$(LIBDIR)/libruby.so.3.3: $(DOWNLOADS)/ruby/Makefile
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
make -j$(NPROC); make install DESTDIR="$(BUILD_PREFIX)" make -j$(NPROC); make install DESTDIR="$(BUILD_PREFIX)"
@ -337,7 +369,7 @@ $(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/configure.ac
cd $(DOWNLOADS)/ruby; autoreconf -i cd $(DOWNLOADS)/ruby; autoreconf -i
$(DOWNLOADS)/ruby/configure.ac: $(DOWNLOADS)/ruby/configure.ac:
$(CLONE) $(GITHUB)/mkxp-z/ruby $(DOWNLOADS)/ruby --single-branch --branch mkxp-z-3.1.3 --depth 1; $(CLONE) $(GITHUB)/mkxp-z/ruby $(DOWNLOADS)/ruby --single-branch --branch mkxp-z-3.3.5 --depth 1;
# ==== # ====
init_dirs: init_dirs:

View file

@ -50,7 +50,9 @@ RUBY_CONFIGURE_ARGS := \
--disable-rubygems \ --disable-rubygems \
--disable-install-doc \ --disable-install-doc \
--build=$(RBUILD) \ --build=$(RBUILD) \
${EXTRA_RUBY_CONFIG_ARGS} ${EXTRA_RUBY_CONFIG_ARGS} \
--with-libyaml-dir="$(shell realpath $(PREFIX))" \
--with-libffi-dir="$(shell realpath $(PREFIX))"
CONFIGURE := $(CONFIGURE_ENV) ./configure $(CONFIGURE_ARGS) CONFIGURE := $(CONFIGURE_ENV) ./configure $(CONFIGURE_ARGS)
AUTOGEN := $(CONFIGURE_ENV) ./autogen.sh $(CONFIGURE_ARGS) AUTOGEN := $(CONFIGURE_ENV) ./autogen.sh $(CONFIGURE_ARGS)
@ -300,13 +302,43 @@ $(DOWNLOADS)/openssl/Makefile: $(DOWNLOADS)/openssl/Configure
$(DOWNLOADS)/openssl/Configure: $(DOWNLOADS)/openssl/Configure:
$(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch openssl-3.0.12 --depth 1 $(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch openssl-3.0.12 --depth 1
# Standard ruby # libyaml
ruby: init_dirs openssl $(LIBDIR)/libruby.3.1.dylib libyaml: init_dirs $(LIBDIR)/libyaml.a
$(LIBDIR)/libruby.3.1.dylib: $(DOWNLOADS)/ruby/Makefile $(LIBDIR)/libyaml.a: $(DOWNLOADS)/libyaml/Makefile
cd $(DOWNLOADS)/libyaml; make -j$(NPROC); make install
$(DOWNLOADS)/libyaml/Makefile: $(DOWNLOADS)/libyaml/configure
cd $(DOWNLOADS)/libyaml; $(CONFIGURE) --disable-shared --enable-static --disable-docs
$(DOWNLOADS)/libyaml/configure: $(DOWNLOADS)/libyaml/configure.ac
cd $(DOWNLOADS)/libyaml; autoreconf -i
$(DOWNLOADS)/libyaml/configure.ac:
$(CLONE) $(GITHUB)/yaml/libyaml $(DOWNLOADS)/libyaml --single-branch --branch 0.2.5 --depth 1
# libffi
libffi: init_dirs $(LIBDIR)/libffi.a
$(LIBDIR)/libffi.a: $(DOWNLOADS)/libffi/Makefile
cd $(DOWNLOADS)/libffi; make -j$(NPROC); make install
$(DOWNLOADS)/libffi/Makefile: $(DOWNLOADS)/libffi/configure
cd $(DOWNLOADS)/libffi; $(CONFIGURE) --disable-shared --enable-static --disable-docs
$(DOWNLOADS)/libffi/configure: $(DOWNLOADS)/libffi/configure.ac
cd $(DOWNLOADS)/libffi; autoreconf -i
$(DOWNLOADS)/libffi/configure.ac:
$(CLONE) $(GITHUB)/libffi/libffi $(DOWNLOADS)/libffi --single-branch --branch v3.4.6 --depth 1
# Standard ruby
ruby: init_dirs openssl libyaml libffi $(LIBDIR)/libruby.3.3.dylib
$(LIBDIR)/libruby.3.3.dylib: $(DOWNLOADS)/ruby/Makefile
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
$(CONFIGURE_ENV) make -j$(NPROC); $(CONFIGURE_ENV) make install $(CONFIGURE_ENV) make -j$(NPROC); $(CONFIGURE_ENV) make install
install_name_tool -id @rpath/libruby.3.1.dylib $(LIBDIR)/libruby.3.1.dylib install_name_tool -id @rpath/libruby.3.3.dylib $(LIBDIR)/libruby.3.3.dylib
$(DOWNLOADS)/ruby/Makefile: $(DOWNLOADS)/ruby/configure $(DOWNLOADS)/ruby/Makefile: $(DOWNLOADS)/ruby/configure
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
@ -319,7 +351,7 @@ $(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/configure.ac
cd $(DOWNLOADS)/ruby; autoreconf -i cd $(DOWNLOADS)/ruby; autoreconf -i
$(DOWNLOADS)/ruby/configure.ac: $(DOWNLOADS)/ruby/configure.ac:
$(CLONE) $(GITHUB)/mkxp-z/ruby $(DOWNLOADS)/ruby --single-branch -b mkxp-z-3.1.3 --depth 1; $(CLONE) $(GITHUB)/mkxp-z/ruby $(DOWNLOADS)/ruby --single-branch -b mkxp-z-3.3.5 --depth 1;
# ==== # ====
init_dirs: init_dirs:

View file

@ -1,4 +1,4 @@
option('mri_version', type: 'string', value: '3.1', description: 'Version of MRI to link with') option('mri_version', type: 'string', value: '3.3', description: 'Version of MRI to link with')
option('mri_includes', type: 'string', value: '', description: 'Ruby manual include path') option('mri_includes', type: 'string', value: '', description: 'Ruby manual include path')
option('mri_libpath', type: 'string', value: '', description: 'Ruby manual lib path') option('mri_libpath', type: 'string', value: '', description: 'Ruby manual lib path')
option('mri_library', type: 'string', value: '', description: 'Ruby manual link name') option('mri_library', type: 'string', value: '', description: 'Ruby manual link name')

View file

@ -39,10 +39,12 @@ RUBY_CONFIGURE_ARGS := \
--prefix="$(shell cygpath -m ${BUILD_PREFIX})" \ --prefix="$(shell cygpath -m ${BUILD_PREFIX})" \
--enable-install-static-library \ --enable-install-static-library \
--disable-install-doc \ --disable-install-doc \
--with-out-ext=openssl,readline,dbm,gdbm,win32ole \ --with-out-ext=openssl,readline,dbm,gdbm,win32ole,pty,syslog \
--with-static-linked-ext \ --with-static-linked-ext \
--disable-rubygems \ --disable-rubygems \
--without-gmp --without-gmp \
--with-libyaml-dir="$(shell cygpath -m $(PREFIX))" \
--with-libffi-dir="$(shell cygpath -m $(PREFIX))"
CONFIGURE := $(CONFIGURE_ENV) ./configure $(CONFIGURE_ARGS) CONFIGURE := $(CONFIGURE_ENV) ./configure $(CONFIGURE_ARGS)
AUTOGEN := $(CONFIGURE_ENV) ./autogen.sh $(CONFIGURE_ARGS) AUTOGEN := $(CONFIGURE_ENV) ./autogen.sh $(CONFIGURE_ARGS)
@ -299,10 +301,40 @@ $(DOWNLOADS)/openssl/Makefile: $(DOWNLOADS)/openssl/Configure
$(DOWNLOADS)/openssl/Configure: $(DOWNLOADS)/openssl/Configure:
$(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch openssl-3.0.12 --depth 1 $(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch openssl-3.0.12 --depth 1
# Standard ruby # libyaml
ruby: init_dirs openssl $(BINDIR)/$(RB_PREFIX)-ruby310.dll libyaml: init_dirs $(LIBDIR)/libyaml.a
$(BINDIR)/$(RB_PREFIX)-ruby310.dll: $(DOWNLOADS)/ruby/Makefile $(LIBDIR)/libyaml.a: $(DOWNLOADS)/libyaml/Makefile
cd $(DOWNLOADS)/libyaml; make -j$(NPROC); make install
$(DOWNLOADS)/libyaml/Makefile: $(DOWNLOADS)/libyaml/configure
cd $(DOWNLOADS)/libyaml; $(CONFIGURE) --disable-shared --enable-static --disable-docs
$(DOWNLOADS)/libyaml/configure: $(DOWNLOADS)/libyaml/configure.ac
cd $(DOWNLOADS)/libyaml; autoreconf -i
$(DOWNLOADS)/libyaml/configure.ac:
$(CLONE) $(GITHUB)/yaml/libyaml $(DOWNLOADS)/libyaml --single-branch --branch 0.2.5 --depth 1
# libffi
libffi: init_dirs $(LIBDIR)/libffi.a
$(LIBDIR)/libffi.a: $(DOWNLOADS)/libffi/Makefile
cd $(DOWNLOADS)/libffi; make -j$(NPROC); make install
$(DOWNLOADS)/libffi/Makefile: $(DOWNLOADS)/libffi/configure
cd $(DOWNLOADS)/libffi; $(CONFIGURE) --disable-shared --enable-static --disable-docs
$(DOWNLOADS)/libffi/configure: $(DOWNLOADS)/libffi/configure.ac
cd $(DOWNLOADS)/libffi; autoreconf -i
$(DOWNLOADS)/libffi/configure.ac:
$(CLONE) $(GITHUB)/libffi/libffi $(DOWNLOADS)/libffi --single-branch --branch v3.4.6 --depth 1
# Standard ruby
ruby: init_dirs openssl libyaml libffi $(BINDIR)/$(RB_PREFIX)-ruby330.dll
$(BINDIR)/$(RB_PREFIX)-ruby330.dll: $(DOWNLOADS)/ruby/Makefile
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
make -j$(NPROC); make install make -j$(NPROC); make install
@ -317,7 +349,7 @@ $(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/configure.ac
cd $(DOWNLOADS)/ruby; autoreconf -i cd $(DOWNLOADS)/ruby; autoreconf -i
$(DOWNLOADS)/ruby/configure.ac: $(DOWNLOADS)/ruby/configure.ac:
$(CLONE) $(GITHUB)/mkxp-z/ruby $(DOWNLOADS)/ruby --single-branch --branch mkxp-z-3.1.3 --depth 1; $(CLONE) $(GITHUB)/mkxp-z/ruby $(DOWNLOADS)/ruby --single-branch --branch mkxp-z-3.3.5 --depth 1;
# ==== # ====
init_dirs: init_dirs: