diff --git a/vlib/compiler/cgen.v b/vlib/compiler/cgen.v index e9afb1d09f199c..6740408c2d618e 100644 --- a/vlib/compiler/cgen.v +++ b/vlib/compiler/cgen.v @@ -285,17 +285,18 @@ fn build_thirdparty_obj_file(path string, moduleflags []CFlag) { fn os_name_to_ifdef(name string) string { match name { - 'windows' { return '_WIN32'} - 'mac' { return '__APPLE__'} - 'linux' { return '__linux__'} - 'freebsd' { return '__FreeBSD__'} - 'openbsd'{ return '__OpenBSD__'} - 'netbsd'{ return '__NetBSD__'} - 'dragonfly'{ return '__DragonFly__'} - 'msvc'{ return '_MSC_VER'} - 'android'{ return '__BIONIC__'} - 'js' {return '_VJS'} - 'solaris'{ return '__sun'} + 'windows' { return '_WIN32' } + 'mac' { return '__APPLE__' } + 'linux' { return '__linux__' } + 'freebsd' { return '__FreeBSD__' } + 'openbsd'{ return '__OpenBSD__' } + 'netbsd'{ return '__NetBSD__' } + 'dragonfly'{ return '__DragonFly__' } + 'msvc'{ return '_MSC_VER' } + 'android'{ return '__BIONIC__' } + 'js' {return '_VJS' } + 'solaris'{ return '__sun' } + 'haiku' { return '__haiku__' } } verror('bad os ifdef name "$name"') return '' @@ -309,6 +310,7 @@ fn platform_postfix_to_ifdefguard(name string) string { '_lin.v', '_linux.v' { '#ifdef __linux__' } '_mac.v', '_darwin.v' { '#ifdef __APPLE__' } '_solaris.v' { '#ifdef __sun' } + '_haiku.v' { '#ifdef __haiku__' } else { //verror('bad platform_postfix "$name"') diff --git a/vlib/compiler/main.v b/vlib/compiler/main.v index 4e078b7e51d22b..69fd26cd008a66 100644 --- a/vlib/compiler/main.v +++ b/vlib/compiler/main.v @@ -26,7 +26,7 @@ enum BuildMode { const ( supported_platforms = ['windows', 'mac', 'linux', 'freebsd', 'openbsd', - 'netbsd', 'dragonfly', 'android', 'js', 'solaris'] + 'netbsd', 'dragonfly', 'android', 'js', 'solaris', 'haiku'] ) enum OS { @@ -40,6 +40,7 @@ enum OS { js // TODO android solaris + haiku } enum Pass {