mirror of
https://github.com/wnayes/macutils.git
synced 2025-02-17 14:30:44 +00:00
88 lines
3.7 KiB
Meson
88 lines
3.7 KiB
Meson
project('macutils', 'c')
|
|
# Use the following flags on the CF macro definition as needed.
|
|
#
|
|
# -DBSD if you are on a BSD system
|
|
#
|
|
# -DTYPES_H if your system has /usr/include/sys/types.h
|
|
#
|
|
# -DDIRENT_H if your system has /usr/include/dirent.h
|
|
#
|
|
# -DTERMIOS_H if your system has /usr/include/sys/termios.h
|
|
#
|
|
# -DNODOT if you do not want to create files with an initial period
|
|
#
|
|
# -DLATIN1 if your system supports LATIN-1 and you want to use it
|
|
#
|
|
# Note you can use at most one of the following four!
|
|
#
|
|
# -DNOMKDIR if your system does not have the mkdir system call
|
|
#
|
|
# -DAUFS if you want to use an AUFS file system
|
|
#
|
|
# -DAUFSPLUS if you use CAP 6.0 and want to use times on files
|
|
#
|
|
# -DAPPLEDOUBLE if you want to be able to use an AppleDouble file system
|
|
#
|
|
add_global_arguments([
|
|
'-DNODOT',
|
|
'-DAPPLEDOUBLE'],
|
|
language: 'c')
|
|
add_global_arguments(['-Wall'], language: 'c')
|
|
|
|
compiler = meson.get_compiler('c')
|
|
|
|
if compiler.has_header('sys/types.h')
|
|
add_global_arguments('-DTYPES_H', language: 'c')
|
|
endif
|
|
if compiler.has_header('dirent.h')
|
|
add_global_arguments('-DDIRENT_H', language: 'c')
|
|
endif
|
|
if compiler.has_header('sys/termios.h')
|
|
add_global_arguments('-DTERMIOS_H', language: 'c')
|
|
endif
|
|
|
|
|
|
# Static libraries
|
|
|
|
src_libutil = ['util/backtrans.c', 'util/transname.c', 'util/util.c']
|
|
src_libfileio = ['fileio/fileglob.c', 'fileio/rdfile.c', 'fileio/wrfile.c']
|
|
|
|
libutil = static_library('util', src_libutil)
|
|
libfileio = static_library('fileio', src_libfileio)
|
|
|
|
# CRC
|
|
makecrc = executable('makecrc', 'crc/makecrc.c', install: false)
|
|
crc_generated = ['arc.c', 'ccitt.c', 'kermit.c', 'binhex.c', 'ccitt32.c', 'zip.c']
|
|
|
|
gen_crc = custom_target('gen-crc',
|
|
output: crc_generated,
|
|
command: [makecrc])
|
|
|
|
libcrc = static_library('crc', gen_crc, include_directories: 'crc')
|
|
|
|
|
|
# Executables
|
|
binhex = ['binhex/binhex.c', 'binhex/dofile.c']
|
|
hexbin = ['hexbin/buffer.c', 'hexbin/crc.c', 'hexbin/dl.c', 'hexbin/globals.c', 'hexbin/hecx.c', 'hexbin/hexbin.c', 'hexbin/hqx.c', 'hexbin/mu.c', 'hexbin/printhdr.c', 'hexbin/readline.c']
|
|
macunpack = ['macunpack/bin.c', 'macunpack/bits_be.c', 'macunpack/cpt.c', 'macunpack/crc.c', 'macunpack/dd.c', 'macunpack/de_compress.c', 'macunpack/de_huffman.c', 'macunpack/de_lzah.c', 'macunpack/de_lzh.c', 'macunpack/dia.c', 'macunpack/dir.c', 'macunpack/globals.c', 'macunpack/jdw.c', 'macunpack/lzc.c', 'macunpack/lzh.c', 'macunpack/macbinary.c', 'macunpack/macunpack.c', 'macunpack/mcb.c', 'macunpack/pit.c', 'macunpack/sit.c', 'macunpack/stf.c', 'macunpack/zma.c']
|
|
mixed_macsave = ['mixed/dir.c', 'mixed/globals.c', 'mixed/globals.h', 'mixed/macbinary.c', 'mixed/macsave.c', 'mixed/mcb.c']
|
|
mixed_macstream = ['mixed/macstream.c']
|
|
|
|
executable('binhex', binhex, link_with: [libcrc, libutil, libfileio], install: true)
|
|
executable('hexbin', hexbin, link_with: [libcrc, libutil, libfileio], install: true)
|
|
executable('macunpack', macunpack, link_with: [libcrc, libutil, libfileio], install: true)
|
|
executable('macsave', mixed_macsave, link_with: [libutil, libfileio], install: true)
|
|
executable('macstream', mixed_macstream, link_with: [libutil, libfileio], install: true)
|
|
|
|
src_libcomm = ['comm/globals.c', 'comm/tty.c']
|
|
libcomm = static_library('comm', src_libcomm)
|
|
comm_frommac = ['comm/frommac.c', 'comm/xm_from.c', 'comm/ym_from.c', 'comm/zm_from.c']
|
|
comm_tomac = ['comm/tomac.c', 'comm/xm_to.c', 'comm/ym_to.c', 'comm/zm_to.c']
|
|
executable('frommac', comm_frommac, link_with: [libcomm, libcrc, libutil, libfileio], install: true)
|
|
executable('tomac', comm_tomac, link_with: [libcomm, libcrc, libutil, libfileio], install: true)
|
|
|
|
# Install
|
|
|
|
man_pages = ['man/binhex.1','man/frommac.1','man/hexbin.1','man/macsave.1','man/macstream.1','man/macunpack.1','man/macutil.1','man/tomac.1']
|
|
install_man(man_pages)
|