Skip to content

Commit

Permalink
Compatibility with FreeBSD
Browse files Browse the repository at this point in the history
  • Loading branch information
Krush206 authored and notaz committed Oct 21, 2023
1 parent 68362e7 commit 4cccc4d
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 11 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -302,10 +302,10 @@ ifneq ($(PLUGINS),)
plugins_: $(PLUGINS)

$(PLUGINS):
make -C $(dir $@)
$(MAKE) -C $(dir $@)

clean_plugins:
make -C plugins/gpulib/ clean
$(MAKE) -C plugins/gpulib/ clean
for dir in $(PLUGINS) ; do \
$(MAKE) -C $$(dirname $$dir) clean; done
else
Expand Down
20 changes: 16 additions & 4 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,27 @@ optimize_cortexa8="no"
optimize_arm926ej="no"

# hardcoded stuff
CC="${CC-${CROSS_COMPILE}gcc}"
CXX="${CXX-${CROSS_COMPILE}g++}"
if [ ${OSTYPE} = "FreeBSD" ]; then
CC="clang"
CXX="clang++"
CFLAGS="-I/usr/local/include -L/usr/local/lib"
MAKE=gmake
else
CC="${CC-${CROSS_COMPILE}gcc}"
CXX="${CXX-${CROSS_COMPILE}g++}"
fi
AS="${AS-${CROSS_COMPILE}as}"
AR="${AS-${CROSS_COMPILE}ar}"
MAIN_LDLIBS="$LDLIBS -ldl -lm -lpthread"
config_mak="config.mak"

SYSROOT="$(${CC} --print-sysroot)"
[ "x${SDL_CONFIG}" = "x" ] && SDL_CONFIG="${SYSROOT}/usr/bin/sdl-config"
if [ ${OSTYPE} = "FreeBSD" ]; then
SYSROOT="$sysroot"
[ "x${SDL_CONFIG}" = "x" ] && SDL_CONFIG="${SYSROOT}/usr/local/bin/sdl-config"
else
SYSROOT="$(${CC} --print-sysroot)"
[ "x${SDL_CONFIG}" = "x" ] && SDL_CONFIG="${SYSROOT}/usr/bin/sdl-config"
fi

fail()
{
Expand Down
13 changes: 9 additions & 4 deletions frontend/menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
*/

#define _GNU_SOURCE 1
#ifdef __FreeBSD__
#define STAT stat
#else
#define STAT stat64
#endif
#include <stdio.h>
#include <string.h>
#include <errno.h>
Expand Down Expand Up @@ -214,7 +219,7 @@ static int optional_cdimg_filter(struct dirent **namelist, int count,
const char *ext, *p;
char buf[256], buf2[256];
int i, d, ret, good_cue;
struct stat64 statf;
struct STAT statf;
FILE *f;

if (count <= 1)
Expand Down Expand Up @@ -263,7 +268,7 @@ static int optional_cdimg_filter(struct dirent **namelist, int count,
p = buf2;

snprintf(buf, sizeof(buf), "%s/%s", basedir, p);
ret = stat64(buf, &statf);
ret = STAT(buf, &statf);
if (ret == 0) {
rm_namelist_entry(namelist, count, p);
good_cue = 1;
Expand Down Expand Up @@ -541,7 +546,7 @@ static int menu_do_last_cd_img(int is_get)
{
static const char *defaults[] = { "/media", "/mnt/sd", "/mnt" };
char path[256];
struct stat64 st;
struct STAT st;
FILE *f;
int i, ret = -1;

Expand All @@ -564,7 +569,7 @@ static int menu_do_last_cd_img(int is_get)
out:
if (is_get) {
for (i = 0; last_selected_fname[0] == 0
|| stat64(last_selected_fname, &st) != 0; i++)
|| STAT(last_selected_fname, &st) != 0; i++)
{
if (i >= ARRAY_SIZE(defaults))
break;
Expand Down
2 changes: 1 addition & 1 deletion plugins/gpulib/gpulib.mak
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ $(BIN_GPULIB): $(SRC) $(SRC_GPULIB) $(GPULIB_A)
endif

$(GPULIB_A):
make -C ../gpulib/ all
$(MAKE) -C ../gpulib/ all

clean:
$(RM) $(TARGETS)
Expand Down

0 comments on commit 4cccc4d

Please sign in to comment.