56 Commits

Author SHA1 Message Date
maron2000
904cb3514b Fix build error 2023-10-13 18:41:37 +09:00
maron2000
c99be9dd08 Specify the architecture of executable to patch (macOS) 2023-10-13 17:55:16 +09:00
Jonathan Campbell
32149b0709 Do not assume architecture dir, specify by environment variable 2023-08-29 03:30:12 -07:00
Jonathan Campbell
589d047237 Fix dylib to copy vs name 2023-08-29 00:41:44 -07:00
Jonathan Campbell
4f440d0f69 App bundle builder, use python script, cleanup 2023-08-29 00:29:02 -07:00
Dani Llewellyn
da6ce37153
Attempt fix for macOS CI fail following PR#4054
PR #4054 broke the macOS CI for pull requests and the nightly builds.
As a follow-up requested in the PR this is an attempt to fix it.

* Add a parameter to `configure.am` to define a build-time variable for
  use in `Makefile.am` to specify the executables we will be depending
  upon for the `dosbox-x.app` rule.
* Fix an issue in the first library scan section of the `dosbox-x.app`
  rule in the `Makefile` causing a failure to build on an Apple Silicon
  mac when there is no `x86_64` binary present.
* Fix failure to build SDL1 variant after a previous SDL2 build attempt
  by deleting `vs/sdl2/linux-host` before attempting the SDL1 build.
* Use `make clean` instead of `make distclean` in the build scripts'
  `do_cleanup` function to not clean absolutely everything.
* Make sure we remove the achitecture-specific copies we create of the
  `dosbox-x` executable before building, as these are meant to be
  used for the universal binary creation with `lipo` and the presence
  of an old copy will cause the `dosbox-x.app` bundle to potentially
  contain mismatched copies for each architecture, or contain an
  architecture that is not intended to be included.
* Add a `distclean-local` rule to `src/Makefile.am` to remove the
  architecture-specific temporary copies of the `dosbox-x` executable
  when running `distclean` as these shouldn't remain in the tree.

Signed-off-by: Dani Llewellyn <dani@bowlhat.net>
2023-03-14 00:31:56 +00:00
Dani Llewellyn
e026ba4008
Update Makefile.am to build a Universal App Bundle if both architectures are present
* Add both arm64 and x86_64 binaries to the App Bundle if they are present. If only one architecture is present then it should still build a single-architecture App Bundle
* Search for both arm64 and x86_64 dylibs separately and put them in architecture-specific subfolders
* If both arm64 and x86_64 executables are present, then combine them into a Universal Binary with `lipo`, otherwise move the single architecture executable available to the right place

Signed-off-by: Dani Llewellyn <dani@bowlhat.net>
2023-03-06 00:20:18 +00:00
Jookia
2c3c30324e Makefile.am: Don't ignore setcap error with || true
This just changes the output a bit.

Suggested by https://github.com/rderooy .
2022-09-09 05:13:19 +10:00
Jookia
3cc34111e5 Makefile.am: Don't hardcode path to setcap
This should mean Gentoo packagers don't have to special case this.
2022-09-08 03:35:39 +10:00
Wengier
087bff5aaf update scripts 2022-06-30 17:46:32 -04:00
Wengier
da56cc290c update 2022-06-30 13:35:57 -04:00
Wengier
29d83d8d74 fix for macOS and path 2022-06-30 02:09:09 -04:00
Wengier
191a850228 more 2022-06-29 17:20:31 -04:00
Robert de Rooy
ddf5f6e66b Add bash-completion script
Partly based on the work done by @FeignInt for dosbox-staging
2021-12-12 19:05:49 +01:00
Jonathan Campbell
9d60a36889 Testing for the .app bundle to check dylib load 2021-12-05 21:30:56 -08:00
Jonathan Campbell
9a5912b319 Remove install_name_tool, update Makefile to use new mach-o-matic 2021-12-05 21:20:01 -08:00
Jonathan Campbell
4aa01ab7ad Begin Mach-O patching tool 2021-12-05 19:55:44 -08:00
Robert de Rooy
2e6fe4f7bf Add translations to makefile 2021-07-25 17:57:26 +02:00
Jonathan Campbell
05f87854eb Mac OS X: Apparently FFMPEG dylib files also refer to /usr/local/Cellar (Brew again) which the Makefile did not recognize. Recognize those too so dylib dependencies are properly patched on Intel builds 2021-07-03 01:56:42 -07:00
Jonathan Campbell
1bedc00818 Let otool -L finish, then process files. Also Brew dylib files on Intel macs are 0644 sometimes and that prevents install_name_tool from working 2021-07-01 21:47:33 -07:00
Jonathan Campbell
0ee0405394 Update .app building for how Homebrew is installed on Intel macs 2021-07-01 21:20:23 -07:00
Jonathan Campbell
d490937bc4 Rework Mac OS X App building to copy all dylib files, change the search path for each to MAKE SURE they load from the .app bundle. To make sure the overall bundle is valid, use the codesign utility to ad-hoc resign everything so it runs. Hopefully this will allow the .app to run without Brew installed 2021-07-01 20:59:59 -07:00
Jonathan Campbell
d6e3476c3f Fix .app builder to fix up Brew libraries. Remove modification of dylib files to executable path because that breaks code signing and prevents DOSBox-X from running at all 2021-06-22 11:45:50 -06:00
Jose Phillips
b7f6cd7a81
Merge pull request #3 from joncampbell123/master
Follow Big sur icon guidelines
2021-03-07 02:02:01 -05:00
Jose Phillips
eaf8872b96 New DosBox-x icon following macOS Big Sur Guidelines 2021-03-07 01:58:31 -05:00
Robert de Rooy
1d84c1deb5 Add Linux MAN page
This restores the Linux man page. With major cleanups.

This is part of an effort to also add bash autocompletion in
the (hopefully) near future.
2021-03-06 11:05:21 +01:00
Wengier
f39948dbd2 more 2020-12-29 21:27:40 -05:00
Robert de Rooy
11cad2aab5 Use reverse DNS naming
Use reverse DNS naming for .desktop and .metainfo.xml as your
supposed to do nowadays according to freedesktop.org.

This also happens to match what is mandated by flatpak, so it
simplifies the flatpak post install script a little.

+ cleanup the mess that flatpak builds can leave behind when you
do a clean.
2020-10-20 15:24:03 +02:00
Emmanuel Gil Peyrot
b01a3ab0e3 Fix install target in out-of-tree builds
This was forgotten in #1885, and will let packagers build entirely
out-of-tree.
2020-10-03 01:58:20 +02:00
rderooy
2cb8d9f728 Add glshaders to make install/uninstall 2020-09-28 10:08:47 +02:00
rderooy
2cac989664 Move appdata.xml to metainfo.xml as the former is deprecated.
Part of getting things ready for flatpak support
2020-09-27 21:27:59 +02:00
rderooy
497acea834 Move macOS specific files to contrib/macos
And update any references to them. I did not compile test this,
so cannot guarantee not to have broken anything along the way.
2020-09-09 09:34:35 +02:00
rderooy
982a363630 Move src/dosbox.ico to contrib/icons/dosbox-x.ixo
This could break the windows build, which I did not test!
2020-09-09 09:14:11 +02:00
rderooy
8c5772b54c Move src/dosbox.png to contrib/icons/dosbox-x.png 2020-09-09 08:51:21 +02:00
rderooy
6c315cda62 Move font to contrib/fonts 2020-09-08 17:58:18 +02:00
rderooy
662e2a64b9 Switch linux to SVG icon
I found that the icon used by DOSBox-X comes from
https://www.vogons.org/viewtopic.php?p=79575#p79575

Which apart from Windows and Mac icons also included a SVG icon
which is preferred on Linux, and looks nicer. So add the SVG icon
and update 'make install' and make-rpm.sh to use it.
The SVG icon is placed in contrib/icons

p.s. I found that the tar operation in make-rpm.sh blindly assumes
the directory containing the tree to be named "dosbox-x", instead
of just the current directory, it effectively will tar
../dosbox-x even if your in, say, dosbox-x.clone to keep different
trees apart... I did not change this for now, but it is something
to watch out for.
2020-09-08 16:09:42 +02:00
rderooy
78e7cfec87 Move Linux packaging files to contrib/linux
The general idea is to clean up the root directory of the tree
a bit, and to possibly prepare to support flatpak in the future
without adding more files to the root.

Both "make install" and make-rpm.sh worked after these changes.

My idea was also to move src/dosbox.png to contrib/icons/dosbox-x.png
And to move any Windows and macOS specific packaging files to
contrib/windows and contrib/macos respectively, but I will not do the
latter two myself as I cannot test it.

This is also similar to how dosbox-staging has it's tree layout.

If there is no objection, I will however move src/dosbox.png and
update any references to it to point to the new location.
2020-09-08 13:32:30 +02:00
SeekingMeaning
b603ef5f55
Replace install -d with mkdir -p 2020-07-04 14:15:58 -07:00
SeekingMeaning
e15d85d7bc
Fix make install on Mac and BSD 2020-07-04 12:46:12 -07:00
rderooy
7adf9f5ff3 Add make install, install_strip and uninstall targets 2020-06-23 17:33:09 +02:00
Jonathan Campbell
7922cd7acf Brew installs FFMPEG somewhere else 2018-12-22 22:51:05 -08:00
Jonathan Campbell
cd1e6cf486 more 2018-03-20 22:06:24 -07:00
Jonathan Campbell
4f600c671e more 2018-03-20 21:48:14 -07:00
Jonathan Campbell
b1c9f3feb9 more 2018-03-20 21:22:22 -07:00
Jonathan Campbell
f1149d7c67 doxygen site update 2018-03-20 21:20:32 -07:00
Jonathan Campbell
dc405759eb Mac OS X: Put FREECG98.BMP in the Resources folder of the APP bundle 2018-03-08 10:27:57 -08:00
Jonathan Campbell
2f92ec6583 more 2018-02-18 03:21:58 -08:00
Jonathan Campbell
a39997a92f doxygen 2018-02-18 03:18:27 -08:00
Jonathan Campbell
4d1e0c49c0 Begin Doxygen 2018-02-18 02:51:40 -08:00
Jonathan Campbell
5de784dbc4 Update Mac OS X app compile function, and give into autoconf version pedantry 2018-02-16 19:40:28 -08:00