Check platform/FreeMiNT.mk #50

Open
opened 2026-02-14 08:22:31 +01:00 by xdelatour · 5 comments
Owner
# $NetBSD$
#
# Platform definitions for FreeMiNT + mintlib
#

# ----------------------------------------------------------------------
# Identification
# ----------------------------------------------------------------------

OPSYS=                 FreeMiNT
OS_VERSION?=           ${OS_VERSION}
MACHINE_ARCH?=         m68k
MACHINE_PLATFORM=      ${MACHINE_ARCH}-${OPSYS}

# ----------------------------------------------------------------------
# Compiler
# ----------------------------------------------------------------------

PKG_DEFAULT_COMPILER=  gcc

# Conservative flags (stability first)
CFLAGS+=               -O2
CFLAGS+=               -fno-strict-aliasing

# ----------------------------------------------------------------------
# Missing system features
# ----------------------------------------------------------------------

# No mmap support
CONFIGURE_ENV+=        ac_cv_func_mmap=no
CONFIGURE_ENV+=        ac_cv_func_mmap64=no
CONFIGURE_ENV+=        ac_cv_func_munmap=no

CFLAGS+=               -DHAVE_MMAP=0
CFLAGS+=               -DHAVE_MMAP64=0

# If needed later:
# CONFIGURE_ENV+=      ac_cv_func_mprotect=no

# ----------------------------------------------------------------------
# POSIX assumptions
# ----------------------------------------------------------------------

# fork() works
CONFIGURE_ENV+=        ac_cv_func_fork=yes
CONFIGURE_ENV+=        ac_cv_func_vfork=yes

# Basic POSIX expected
CONFIGURE_ENV+=        ac_cv_func_pipe=yes
CONFIGURE_ENV+=        ac_cv_func_dup2=yes

# ----------------------------------------------------------------------
# Libraries
# ----------------------------------------------------------------------

# Typical mintlib setup
LIBS+=

# If networking needs -lsocket (adjust if needed)
# LIBS+=              -lsocket

# ----------------------------------------------------------------------
# RPATH handling
# ----------------------------------------------------------------------

# FreeMiNT usually does not support ELF-style rpath
USE_RPATH=             no

# ----------------------------------------------------------------------
# Shared libraries
# ----------------------------------------------------------------------

# Adjust depending on your toolchain
SHLIB_TYPE=            none

# If shared libs become usable later:
# SHLIB_TYPE=          elf

# ----------------------------------------------------------------------
# Build behavior
# ----------------------------------------------------------------------

# Avoid parallel build
MAKE_JOBS_SAFE=        no

# Batch mode (important for mass build)
BATCH=                 yes

# ----------------------------------------------------------------------
# SQLite optimization (very important without mmap)
# ----------------------------------------------------------------------

CPPFLAGS+=             -DSQLITE_DISABLE_MMAP

# ----------------------------------------------------------------------
# Default tools behaviour
# ----------------------------------------------------------------------

TOOLS_PLATFORM.awk?=   awk
TOOLS_PLATFORM.sh?=    /bin/sh

# ----------------------------------------------------------------------
# End
# ----------------------------------------------------------------------
``` # $NetBSD$ # # Platform definitions for FreeMiNT + mintlib # # ---------------------------------------------------------------------- # Identification # ---------------------------------------------------------------------- OPSYS= FreeMiNT OS_VERSION?= ${OS_VERSION} MACHINE_ARCH?= m68k MACHINE_PLATFORM= ${MACHINE_ARCH}-${OPSYS} # ---------------------------------------------------------------------- # Compiler # ---------------------------------------------------------------------- PKG_DEFAULT_COMPILER= gcc # Conservative flags (stability first) CFLAGS+= -O2 CFLAGS+= -fno-strict-aliasing # ---------------------------------------------------------------------- # Missing system features # ---------------------------------------------------------------------- # No mmap support CONFIGURE_ENV+= ac_cv_func_mmap=no CONFIGURE_ENV+= ac_cv_func_mmap64=no CONFIGURE_ENV+= ac_cv_func_munmap=no CFLAGS+= -DHAVE_MMAP=0 CFLAGS+= -DHAVE_MMAP64=0 # If needed later: # CONFIGURE_ENV+= ac_cv_func_mprotect=no # ---------------------------------------------------------------------- # POSIX assumptions # ---------------------------------------------------------------------- # fork() works CONFIGURE_ENV+= ac_cv_func_fork=yes CONFIGURE_ENV+= ac_cv_func_vfork=yes # Basic POSIX expected CONFIGURE_ENV+= ac_cv_func_pipe=yes CONFIGURE_ENV+= ac_cv_func_dup2=yes # ---------------------------------------------------------------------- # Libraries # ---------------------------------------------------------------------- # Typical mintlib setup LIBS+= # If networking needs -lsocket (adjust if needed) # LIBS+= -lsocket # ---------------------------------------------------------------------- # RPATH handling # ---------------------------------------------------------------------- # FreeMiNT usually does not support ELF-style rpath USE_RPATH= no # ---------------------------------------------------------------------- # Shared libraries # ---------------------------------------------------------------------- # Adjust depending on your toolchain SHLIB_TYPE= none # If shared libs become usable later: # SHLIB_TYPE= elf # ---------------------------------------------------------------------- # Build behavior # ---------------------------------------------------------------------- # Avoid parallel build MAKE_JOBS_SAFE= no # Batch mode (important for mass build) BATCH= yes # ---------------------------------------------------------------------- # SQLite optimization (very important without mmap) # ---------------------------------------------------------------------- CPPFLAGS+= -DSQLITE_DISABLE_MMAP # ---------------------------------------------------------------------- # Default tools behaviour # ---------------------------------------------------------------------- TOOLS_PLATFORM.awk?= awk TOOLS_PLATFORM.sh?= /bin/sh # ---------------------------------------------------------------------- # End # ---------------------------------------------------------------------- ```
Author
Owner

Next:
-Nettoyer complètement un paquet test :
- bmake clean clean-depends

  • Rebuilder toolchain :
    • libtool-base
    • pkgconf
    • autoconf
    • auttomake

Puis :

  • zlib
  • libarchive
  • sqlite3
  • libfetch
Next: -Nettoyer complètement un paquet test : - bmake clean clean-depends - Rebuilder toolchain : - libtool-base - pkgconf - autoconf - auttomake Puis : - zlib - libarchive - sqlite3 - libfetch
Author
Owner

PKG_OPTIONS.libtool= static
PKG_STATIC= yes

PKG_OPTIONS.libtool= static PKG_STATIC= yes
Author
Owner

Static:

# $NetBSD$
#
# FreeMiNT platform (ELF static-only, mintlib)
#

OPSYS=                 FreeMiNT
MACHINE_ARCH?=         m68k
MACHINE_PLATFORM=      ${MACHINE_ARCH}-${OPSYS}

PKG_DEFAULT_COMPILER=  gcc

# ----------------------------------------------------------------------
# Static-only environment
# ----------------------------------------------------------------------

SHLIB_TYPE=            none
USE_RPATH=             no
PKG_STATIC=            yes

# Avoid PIC (important in static-only world)
CFLAGS+=               -fno-pic
CFLAGS+=               -fno-PIC

# ----------------------------------------------------------------------
# No mmap on FreeMiNT
# ----------------------------------------------------------------------

CONFIGURE_ENV+=        ac_cv_func_mmap=no
CONFIGURE_ENV+=        ac_cv_func_mmap64=no
CONFIGURE_ENV+=        ac_cv_func_munmap=no

CFLAGS+=               -DHAVE_MMAP=0
CPPFLAGS+=             -DSQLITE_DISABLE_MMAP

# ----------------------------------------------------------------------
# POSIX base
# ----------------------------------------------------------------------

CONFIGURE_ENV+=        ac_cv_func_fork=yes
CONFIGURE_ENV+=        ac_cv_func_vfork=yes
CONFIGURE_ENV+=        ac_cv_func_pipe=yes
CONFIGURE_ENV+=        ac_cv_func_dup2=yes

# ----------------------------------------------------------------------
# Conservative compilation
# ----------------------------------------------------------------------

CFLAGS+=               -O2
CFLAGS+=               -fno-strict-aliasing

MAKE_JOBS_SAFE=        no
BATCH=                 yes
Static: ``` # $NetBSD$ # # FreeMiNT platform (ELF static-only, mintlib) # OPSYS= FreeMiNT MACHINE_ARCH?= m68k MACHINE_PLATFORM= ${MACHINE_ARCH}-${OPSYS} PKG_DEFAULT_COMPILER= gcc # ---------------------------------------------------------------------- # Static-only environment # ---------------------------------------------------------------------- SHLIB_TYPE= none USE_RPATH= no PKG_STATIC= yes # Avoid PIC (important in static-only world) CFLAGS+= -fno-pic CFLAGS+= -fno-PIC # ---------------------------------------------------------------------- # No mmap on FreeMiNT # ---------------------------------------------------------------------- CONFIGURE_ENV+= ac_cv_func_mmap=no CONFIGURE_ENV+= ac_cv_func_mmap64=no CONFIGURE_ENV+= ac_cv_func_munmap=no CFLAGS+= -DHAVE_MMAP=0 CPPFLAGS+= -DSQLITE_DISABLE_MMAP # ---------------------------------------------------------------------- # POSIX base # ---------------------------------------------------------------------- CONFIGURE_ENV+= ac_cv_func_fork=yes CONFIGURE_ENV+= ac_cv_func_vfork=yes CONFIGURE_ENV+= ac_cv_func_pipe=yes CONFIGURE_ENV+= ac_cv_func_dup2=yes # ---------------------------------------------------------------------- # Conservative compilation # ---------------------------------------------------------------------- CFLAGS+= -O2 CFLAGS+= -fno-strict-aliasing MAKE_JOBS_SAFE= no BATCH= yes ```
Author
Owner

Disable dlopen()

ac_cv_func_dlopen=no

# ----------------------------------------------------------------------
# No dynamic loading support
# ----------------------------------------------------------------------

CONFIGURE_ENV+=        ac_cv_func_dlopen=no
CONFIGURE_ENV+=        ac_cv_func_dlclose=no
CONFIGURE_ENV+=        ac_cv_func_dlsym=no
CONFIGURE_ENV+=        ac_cv_func_dlerror=no

CONFIGURE_ENV+=        ac_cv_lib_dl_dlopen=no

CFLAGS+=               -DHAVE_DLOPEN=0
CFLAGS+=               -DNO_DLOPEN
Disable dlopen() ``` ac_cv_func_dlopen=no ``` --- ``` # ---------------------------------------------------------------------- # No dynamic loading support # ---------------------------------------------------------------------- CONFIGURE_ENV+= ac_cv_func_dlopen=no CONFIGURE_ENV+= ac_cv_func_dlclose=no CONFIGURE_ENV+= ac_cv_func_dlsym=no CONFIGURE_ENV+= ac_cv_func_dlerror=no CONFIGURE_ENV+= ac_cv_lib_dl_dlopen=no CFLAGS+= -DHAVE_DLOPEN=0 CFLAGS+= -DNO_DLOPEN ```
Author
Owner
LIBTOOL_OVERRIDE=      yes

In mk.conf:

PKG_OPTIONS.libtool=   static
``` LIBTOOL_OVERRIDE= yes ``` In mk.conf: ``` PKG_OPTIONS.libtool= static ```
Sign in to join this conversation.
No description provided.