Scripts

From vice-emu
Revision as of 19:55, 8 October 2020 by Gpz (talk | contribs) (→‎Building)
Jump to navigation Jump to search

There are a couple of scripts in the source tree that help with some tasks during development

Maintenance

These are scripts that are not used by the buildsystem, which means they may not follow the same (strict) rules

  • checkactivity.sh - creates some statistics from the svn log
  • src/findhacks.sh - finds defines and ifdefs that perhaps can be removed. also finds printf-style output that perhaps shouldnt be there
  • gtk3resources.py - finds resource definitions in the GTK3 ui

User Manual / Website

  • src/html/checklinks.sh - checks (internal and external) links in the html pages
  • doc/checkdoc.mak , checkdoc.c - extracts resources from the executables and compares with vice.texi

Building Documentation

These scripts are used by the buildsystem when building the documentation.

User Manual

  • doc/fixdox.sh - fix up the texi file for proper generation of the final document
  • doc/html/texi2html - texi2html converter

Sourcecode (Doxy)

  • doc/mkdoxy.sh - main script to create doxygen documentation. contains a lot of magic to create nicely linked output
    • doc/src2doxy.sh
    • doc/txt2doxy.sh

Infocontrib

These scripts are used to generate/update the team member list. Also used when building the binaries

  • ./src/buildtools/geninfocontrib_h.sh - extracts the team list(s) from vice.texi and inserts into infocontrib.h, index.html, AUTHORS, README
    • FIXME: there is a hardcoded link to the last page of the documentation (containing the full contributors list). we should make this update automatically
  • ./src/sedinfocontrib_h.sh - wrapperscript for sed, needed for macOS

Building

  • autogen.sh - generates the configure script
  • install-sh - install helper
  • src/resid/samp2src.pl - generate tables as c-arrays
  • build/mingw/vice-rpm-to-deb.sh - convert Fedora mingw64-*.rpm packages to .deb for use with a Debian-based cross-compiler for the Gtk3 UI
    • FIXME: Frankenvice scripts were moved into `./frankenvice` and we also have a `./docker` subdir now

encoding mess

several scripts need to be updated to deal with the proper encoding of "international" characters (with accents in particular)

Goal: as much files as possible should be completely agnostic of any encoding. in other words: not use any special characters where the encoding matters.

Background: we want all Documentation, including the team-member list, in one central place so we only have to update one thing. This place is vice.texi. From that various other files are being generated, in particular vice.pdf, the html documentation, and the team list in index.html, infocontrib.h, README and AUTHORS.

  • ./src/buildtools/geninfocontrib_h.sh (already handles é and \'e for index.html output)
    • TODO: handle infocontrib.h, AUTHORS, README output
    • TODO: handle some more common characters in names
  • doc/fixdox.sh
    • TODO: clean up, handle conversion of texi tags (\'e) for pdf
  • doc/html/texi2html
    • TODO: clean up, handle conversion of texi tags (\'e) for html
  • ./doc/Makefile
    • TODO: clean up, move all remaining sed magic to the respective scripts

iso-8859-1

for the time being, the following files MUST be iso-8859-1, or things will break:

  • ./doc/vice.texi (encoding is checked in doc/Makefile)
  • ./src/buildtools/geninfocontrib_h.sh (encoding is checked in src/Makefile)

TODO

  • TODO: document and check these:
./build/android/build-android.sh
./build/android/push-roms.sh

./build/beos/intel-build-sdl.sh
./build/beos/ppc-build-sdl.sh

./build/mingw/docker/build-vice.sh
./build/mingw/docker/dock-run.sh
./build/mingw/frankenvice/frankenvice-install.sh
./build/mingw/frankenvice/vice-rpm-to-deb.sh

./src/vice-version.sh - generated by configure?

./src/wrap-u-ar.sh

cmake-bootstrap.sh

./src/buildtools/bin2c.sh
./src/buildtools/convert_owcc_libs.sh -- OpenWatcom? Probably can delete this
./src/buildtools/gensvnversion.sh
./src/buildtools/od2c.sh
./src/buildtools/palette2c.sh

./src/arch/android/AnVICE/clean.sh

./src/arch/gtk3/generate-icons-list.sh
./src/arch/gtk3/macOS-ui-runtime.sh
./src/arch/gtk3/make-bindist_osx.sh
./src/arch/gtk3/make-bindist_win32.sh
./src/arch/gtk3/vice-launcher.sh
./src/arch/gtk3/x11-launcher.sh

./src/arch/sdl/macOS-ui-runtime.sh
./src/arch/sdl/make-bindist_amiga.sh
./src/arch/sdl/make-bindist_beos.sh
./src/arch/sdl/make-bindist_osx.sh
./src/arch/sdl/make-bindist_win32.sh
./src/arch/sdl/vice-launcher.sh
./src/arch/sdl/x11-launcher.sh

./src/arch/shared/macOS-common-runtime.sh
./src/arch/shared/macOS-launcher.sh
./src/arch/shared/macOS-redirect-launcher.sh
./src/arch/shared/macOS-wrap-ar.sh
./src/arch/shared/macOS-wrap-ranlib.sh
./src/arch/shared/make-bindist_osx.sh