Author Topic: r8267: Can't be compile on macOS because of squirrel  (Read 1172 times)

0 Members and 1 Guest are viewing this topic.

Offline MMMHHH

r8267: Can't be compile on macOS because of squirrel
« on: July 18, 2017, 09:29:29 AM »
Hello,
I was able to compile every nightly build of simutrans since ~r7700. But now I have problem. First my actual specs:
OS: macOS High Sierra Beta 3 (17A306f)
Toolchain:
Code: [Select]
MacBook-Pro:Xcode user$ clang --version
Apple LLVM version 9.0.0 (clang-900.0.28.1)
Target: x86_64-apple-darwin17.0.0
Thread model: posix
InstalledDir: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Starting from macOS Sierra 10.12.4 I can't compile simutrans because of squirrel framework.

I already submitted issue on Github but developer of squirrel don't seems to be very active...
https://github.com/albertodemichelis/squirrel/issues/98

I think that it is same 'bug' which was discussed here: https://github.com/JGRennison/OpenTTD-patches/issues/17

My Build output:
Code: [Select]
MacBook-Pro:~ user$ /Users/user/xcode/simutrans/BuildME ; exit;
==> Starting ...
==> Version: Simutrans 120.2.3 Nightly - r8267M ...
==> MAKE Simutrans ...
===> HOSTCXX clipboard_internal.cc
===> HOSTCXX bauer/brueckenbauer.cc
===> HOSTCXX bauer/fabrikbauer.cc
===> HOSTCXX bauer/hausbauer.cc
===> HOSTCXX bauer/tunnelbauer.cc
===> HOSTCXX bauer/vehikelbauer.cc
===> HOSTCXX bauer/goods_manager.cc
===> HOSTCXX bauer/wegbauer.cc
===> HOSTCXX descriptor/image.cc
===> HOSTCXX descriptor/bridge_desc.cc
===> HOSTCXX descriptor/factory_desc.cc
===> HOSTCXX descriptor/ground_desc.cc
===> HOSTCXX descriptor/building_desc.cc
===> HOSTCXX descriptor/obj_base_desc.cc
===> HOSTCXX descriptor/reader/bridge_reader.cc
===> HOSTCXX descriptor/reader/building_reader.cc
===> HOSTCXX descriptor/reader/citycar_reader.cc
===> HOSTCXX descriptor/reader/crossing_reader.cc
===> HOSTCXX descriptor/reader/factory_reader.cc
===> HOSTCXX descriptor/reader/good_reader.cc
===> HOSTCXX descriptor/reader/ground_reader.cc
===> HOSTCXX descriptor/reader/groundobj_reader.cc
===> HOSTCXX descriptor/reader/image_reader.cc
===> HOSTCXX descriptor/reader/imagelist2d_reader.cc
===> HOSTCXX descriptor/reader/imagelist_reader.cc
===> HOSTCXX descriptor/reader/obj_reader.cc
===> HOSTCXX descriptor/reader/pedestrian_reader.cc
===> HOSTCXX descriptor/reader/roadsign_reader.cc
===> HOSTCXX descriptor/reader/root_reader.cc
===> HOSTCXX descriptor/reader/sim_reader.cc
===> HOSTCXX descriptor/reader/skin_reader.cc
===> HOSTCXX descriptor/reader/sound_reader.cc
===> HOSTCXX descriptor/reader/text_reader.cc
===> HOSTCXX descriptor/reader/tree_reader.cc
===> HOSTCXX descriptor/reader/tunnel_reader.cc
===> HOSTCXX descriptor/reader/vehicle_reader.cc
===> HOSTCXX descriptor/reader/way_obj_reader.cc
===> HOSTCXX descriptor/reader/way_reader.cc
===> HOSTCXX descriptor/reader/xref_reader.cc
===> HOSTCXX descriptor/sound_desc.cc
===> HOSTCXX descriptor/tunnel_desc.cc
===> HOSTCXX descriptor/vehicle_desc.cc
===> HOSTCXX descriptor/goods_desc.cc
===> HOSTCXX descriptor/way_desc.cc
===> HOSTCXX boden/boden.cc
===> HOSTCXX boden/brueckenboden.cc
===> HOSTCXX boden/fundament.cc
===> HOSTCXX boden/grund.cc
===> HOSTCXX boden/monorailboden.cc
===> HOSTCXX boden/tunnelboden.cc
===> HOSTCXX boden/wasser.cc
===> HOSTCXX boden/wege/kanal.cc
===> HOSTCXX boden/wege/maglev.cc
===> HOSTCXX boden/wege/monorail.cc
===> HOSTCXX boden/wege/narrowgauge.cc
===> HOSTCXX boden/wege/runway.cc
===> HOSTCXX boden/wege/schiene.cc
===> HOSTCXX boden/wege/strasse.cc
===> HOSTCXX boden/wege/weg.cc
===> HOSTCXX dataobj/crossing_logic.cc
dataobj/crossing_logic.cc:45:14: warning: comparison of constant 4 with
      expression of type 'const crossing_logic_t::crossing_state_t' is always
      true [-Wtautological-constant-out-of-range-compare]
        assert(state<4);
               ~~~~~^~
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/assert.h:93:25: note:
      expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE...
                        ^
1 warning generated.
===> HOSTCXX dataobj/objlist.cc
===> HOSTCXX dataobj/settings.cc
===> HOSTCXX dataobj/freelist.cc
dataobj/freelist.cc:114:28: warning: cast from 'char *' to 'nodelist_node_t *'
      increases required alignment from 1 to 8 [-Wcast-align]
                nodelist_node_t *chunk = (nodelist_node_t *)p;
                                         ^~~~~~~~~~~~~~~~~~~~
dataobj/freelist.cc:128:27: warning: cast from 'char *' to 'nodelist_node_t *'
      increases required alignment from 1 to 8 [-Wcast-align]
                        nodelist_node_t *tmp = (nodelist_node_t *)(p+i*size);
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
===> HOSTCXX dataobj/gameinfo.cc
===> HOSTCXX dataobj/height_map_loader.cc
===> HOSTCXX dataobj/koord.cc
===> HOSTCXX dataobj/koord3d.cc
===> HOSTCXX dataobj/loadsave.cc
===> HOSTCXX dataobj/marker.cc
===> HOSTCXX dataobj/powernet.cc
===> HOSTCXX dataobj/records.cc
===> HOSTCXX dataobj/ribi.cc
===> HOSTCXX dataobj/route.cc
===> HOSTCXX dataobj/scenario.cc
===> HOSTCXX dataobj/schedule.cc
===> HOSTCXX dataobj/tabfile.cc
===> HOSTCXX dataobj/translator.cc
===> HOSTCXX dataobj/environment.cc
===> HOSTCXX obj/baum.cc
===> HOSTCXX obj/bruecke.cc
===> HOSTCXX obj/crossing.cc
===> HOSTCXX obj/field.cc
===> HOSTCXX obj/gebaeude.cc
===> HOSTCXX obj/groundobj.cc
===> HOSTCXX obj/label.cc
===> HOSTCXX obj/leitung2.cc
===> HOSTCXX obj/pillar.cc
===> HOSTCXX obj/roadsign.cc
===> HOSTCXX obj/signal.cc
===> HOSTCXX obj/tunnel.cc
===> HOSTCXX obj/wayobj.cc
===> HOSTCXX obj/wolke.cc
===> HOSTCXX obj/zeiger.cc
===> HOSTCXX display/font.cc
===> HOSTCXX display/simgraph16.cc
display/simgraph16.cc:1516:49: warning: cast from 'uint8 *'
      (aka 'unsigned char *') to 'PIXVAL *' (aka 'unsigned short *') increases
      required alignment from 1 to 2 [-Wcast-align]
  ...% env_t::num_threads] = (PIXVAL *)MALLOCN( uint8, new_size );
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
display/simgraph16.cc:1808:11: warning: cast from 'uint8 *'
      (aka 'unsigned char *') to 'PIXVAL *' (aka 'unsigned short *') increases
      required alignment from 1 to 2 [-Wcast-align]
  ...dest = (PIXVAL*)rezoom_baseimage[n % env_t::num_threads];
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
display/simgraph16.cc:2541:20: warning: cast from 'PIXVAL *'
      (aka 'unsigned short *') to 'uint32 *' (aka 'unsigned int *') increases
      required alignment from 2 to 4 [-Wcast-align]
                                                uint32 *ld = (uint32 *)p;
                                                             ^~~~~~~~~~~
display/simgraph16.cc:4073:17: warning: cast from 'PIXVAL *'
      (aka 'unsigned short *') to 'uint32 *' (aka 'unsigned int *') increases
      required alignment from 2 to 4 [-Wcast-align]
                        uint32 *lp = (uint32 *)p;
                                     ^~~~~~~~~~~
4 warnings generated.
===> HOSTCXX display/simview.cc
===> HOSTCXX display/viewport.cc
===> HOSTCXX freight_list_sorter.cc
===> HOSTCXX gui/ai_option_t.cc
===> HOSTCXX gui/ai_selector.cc
===> HOSTCXX gui/banner.cc
In file included from gui/banner.cc:208:
gui/../scrolltext.h:30:12: warning: illegal character encoding in string literal
      [-Winvalid-source-encoding]
" Andreas R<F6>ver","patches",
           ^~~~
gui/../scrolltext.h:53:8: warning: illegal character encoding in string literal
      [-Winvalid-source-encoding]
" Hansj<F6>rg Malthaner","",
       ^~~~
gui/../scrolltext.h:73:8: warning: illegal character encoding in string literal
      [-Winvalid-source-encoding]
" Hansj<F6>rg Malthaner","German",
       ^~~~
gui/../scrolltext.h:77:4: warning: illegal character encoding in string literal
      [-Winvalid-source-encoding]
" R<E9>mi Denis-Courmont","French",
   ^~~~
gui/../scrolltext.h:80:13: warning: illegal character encoding in string literal
      [-Winvalid-source-encoding]
" Roman Schw<F6>rer","French & German",
            ^~~~
gui/../scrolltext.h:84:13: warning: illegal character encoding in string literal
      [-Winvalid-source-encoding]
" Susanna Bj<F6>rverud", "Swedish",
            ^~~~
6 warnings generated.
===> HOSTCXX gui/baum_edit.cc
===> HOSTCXX gui/base_info.cc
===> HOSTCXX gui/citybuilding_edit.cc
===> HOSTCXX gui/citylist_frame_t.cc
===> HOSTCXX gui/citylist_stats_t.cc
===> HOSTCXX gui/climates.cc
===> HOSTCXX gui/display_settings.cc
===> HOSTCXX gui/components/gui_button.cc
===> HOSTCXX gui/components/gui_chart.cc
===> HOSTCXX gui/components/gui_combobox.cc
===> HOSTCXX gui/components/gui_container.cc
===> HOSTCXX gui/components/gui_convoiinfo.cc
===> HOSTCXX gui/components/gui_obj_view_t.cc
===> HOSTCXX gui/components/gui_fixedwidth_textarea.cc
===> HOSTCXX gui/components/gui_flowtext.cc
===> HOSTCXX gui/components/gui_image.cc
===> HOSTCXX gui/components/gui_image_list.cc
===> HOSTCXX gui/components/gui_komponente.cc
===> HOSTCXX gui/components/gui_label.cc
===> HOSTCXX gui/components/gui_map_preview.cc
===> HOSTCXX gui/components/gui_numberinput.cc
===> HOSTCXX gui/components/gui_scrollbar.cc
===> HOSTCXX gui/components/gui_scrolled_list.cc
===> HOSTCXX gui/components/gui_scrollpane.cc
===> HOSTCXX gui/components/gui_speedbar.cc
===> HOSTCXX gui/components/gui_tab_panel.cc
===> HOSTCXX gui/components/gui_textarea.cc
===> HOSTCXX gui/components/gui_textinput.cc
===> HOSTCXX gui/components/gui_world_view_t.cc
===> HOSTCXX gui/convoi_detail_t.cc
===> HOSTCXX gui/convoi_filter_frame.cc
===> HOSTCXX gui/convoi_frame.cc
===> HOSTCXX gui/convoi_info_t.cc
===> HOSTCXX gui/convoy_item.cc
===> HOSTCXX gui/curiosity_edit.cc
===> HOSTCXX gui/curiositylist_frame_t.cc
===> HOSTCXX gui/curiositylist_stats_t.cc
===> HOSTCXX gui/depot_frame.cc
===> HOSTCXX gui/enlarge_map_frame_t.cc
===> HOSTCXX gui/extend_edit.cc
===> HOSTCXX gui/fabrik_info.cc
===> HOSTCXX gui/factory_chart.cc
===> HOSTCXX gui/factory_edit.cc
===> HOSTCXX gui/factorylist_frame_t.cc
===> HOSTCXX gui/factorylist_stats_t.cc
===> HOSTCXX gui/goods_frame_t.cc
===> HOSTCXX gui/goods_stats_t.cc
===> HOSTCXX gui/ground_info.cc
===> HOSTCXX gui/gui_frame.cc
===> HOSTCXX gui/gui_theme.cc
===> HOSTCXX gui/halt_detail.cc
gui/halt_detail.cc:279:17: warning: illegal character encoding in string literal
      [-Winvalid-source-encoding]
                        buf.append(" <B7>");
                                     ^~~~
1 warning generated.
===> HOSTCXX gui/halt_info.cc
===> HOSTCXX gui/halt_list_filter_frame.cc
===> HOSTCXX gui/halt_list_frame.cc
===> HOSTCXX gui/halt_list_stats.cc
===> HOSTCXX gui/help_frame.cc
===> HOSTCXX gui/jump_frame.cc
===> HOSTCXX gui/karte.cc
===> HOSTCXX gui/kennfarbe.cc
===> HOSTCXX gui/label_info.cc
===> HOSTCXX gui/labellist_frame_t.cc
===> HOSTCXX gui/labellist_stats_t.cc
===> HOSTCXX gui/line_item.cc
===> HOSTCXX gui/line_management_gui.cc
===> HOSTCXX gui/load_relief_frame.cc
===> HOSTCXX gui/loadsave_frame.cc
===> HOSTCXX gui/map_frame.cc
===> HOSTCXX gui/message_frame_t.cc
===> HOSTCXX gui/message_option_t.cc
===> HOSTCXX gui/message_stats_t.cc
===> HOSTCXX gui/messagebox.cc
===> HOSTCXX gui/money_frame.cc
===> HOSTCXX gui/optionen.cc
===> HOSTCXX gui/pakselector.cc
===> HOSTCXX gui/password_frame.cc
===> HOSTCXX gui/player_frame_t.cc
===> HOSTCXX gui/privatesign_info.cc
===> HOSTCXX gui/savegame_frame.cc
===> HOSTCXX gui/scenario_frame.cc
===> HOSTCXX gui/scenario_info.cc
===> HOSTCXX gui/schedule_gui.cc
===> HOSTCXX gui/schedule_list.cc
===> HOSTCXX gui/server_frame.cc
===> HOSTCXX gui/settings_frame.cc
===> HOSTCXX gui/settings_stats.cc
===> HOSTCXX gui/signal_spacing.cc
===> HOSTCXX gui/simwin.cc
===> HOSTCXX gui/sound_frame.cc
===> HOSTCXX gui/sprachen.cc
===> HOSTCXX gui/city_info.cc
===> HOSTCXX gui/station_building_select.cc
gui/station_building_select.cc:68:63: warning: logical not is only applied to
      the left hand side of this bitwise operator [-Wlogical-not-parentheses]
  ...if((height==rw*5)  &&  ((i&1  &&  desc->get_y(0)==1)  ||  (!i&1  &&  des...
                                                                ^ ~
gui/station_building_select.cc:68:63: note: add parentheses after the '!' to
      evaluate the bitwise operator first
  ...if((height==rw*5)  &&  ((i&1  &&  desc->get_y(0)==1)  ||  (!i&1  &&  des...
                                                                ^
                                                                 (  )
gui/station_building_select.cc:68:63: note: add parentheses around left hand
      side expression to silence this warning
  ...if((height==rw*5)  &&  ((i&1  &&  desc->get_y(0)==1)  ||  (!i&1  &&  des...
                                                                ^
                                                                ( )
1 warning generated.
===> HOSTCXX gui/themeselector.cc
===> HOSTCXX gui/tool_selector.cc
===> HOSTCXX gui/trafficlight_info.cc
===> HOSTCXX gui/obj_info.cc
===> HOSTCXX gui/welt.cc
===> HOSTCXX network/checksum.cc
===> HOSTCXX network/memory_rw.cc
===> HOSTCXX network/network.cc
===> HOSTCXX network/network_address.cc
===> HOSTCXX network/network_cmd.cc
===> HOSTCXX network/network_cmd_ingame.cc
===> HOSTCXX network/network_cmd_scenario.cc
===> HOSTCXX network/network_cmp_pakset.cc
===> HOSTCXX network/network_file_transfer.cc
===> HOSTCXX network/network_packet.cc
===> HOSTCXX network/network_socket_list.cc
===> HOSTCXX network/pakset_info.cc
===> HOSTCXX network/pwd_hash.cc
===> HOSTCXX old_blockmanager.cc
===> HOSTCXX player/ai.cc
===> HOSTCXX player/ai_goods.cc
===> HOSTCXX player/ai_passenger.cc
===> HOSTCXX player/ai_scripted.cc
===> HOSTCXX player/finance.cc
===> HOSTCXX player/simplay.cc
===> HOSTCXX script/api_class.cc
===> HOSTCXX script/api_function.cc
===> HOSTCXX script/api_param.cc
In file included from script/api_param.cc:13:
script/api/api_simple.h:13:1: warning: 'my_ribi_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_ribi_t {
^
script/api/../api_param.h:27:1: note: did you mean struct here?
class my_ribi_t;
^~~~~
struct
In file included from script/api_param.cc:13:
script/api/api_simple.h:19:1: warning: 'my_slope_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_slope_t {
^
script/api/../api_param.h:28:1: note: did you mean struct here?
class my_slope_t;
^~~~~
struct
2 warnings generated.
===> HOSTCXX script/api/api_city.cc
===> HOSTCXX script/api/api_command.cc
In file included from script/api/api_command.cc:7:
script/api/api_simple.h:13:1: warning: 'my_ribi_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_ribi_t {
^
script/api/../api_param.h:27:1: note: did you mean struct here?
class my_ribi_t;
^~~~~
struct
In file included from script/api/api_command.cc:7:
script/api/api_simple.h:19:1: warning: 'my_slope_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_slope_t {
^
script/api/../api_param.h:28:1: note: did you mean struct here?
class my_slope_t;
^~~~~
struct
2 warnings generated.
===> HOSTCXX script/api/api_const.cc
===> HOSTCXX script/api/api_control.cc
===> HOSTCXX script/api/api_convoy.cc
===> HOSTCXX script/api/api_gui.cc
===> HOSTCXX script/api/api_factory.cc
===> HOSTCXX script/api/api_halt.cc
===> HOSTCXX script/api/api_include.cc
===> HOSTCXX script/api/api_line.cc
===> HOSTCXX script/api/api_map_objects.cc
In file included from script/api/api_map_objects.cc:6:
script/api/api_simple.h:13:1: warning: 'my_ribi_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_ribi_t {
^
script/api/../api_param.h:27:1: note: did you mean struct here?
class my_ribi_t;
^~~~~
struct
In file included from script/api/api_map_objects.cc:6:
script/api/api_simple.h:19:1: warning: 'my_slope_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_slope_t {
^
script/api/../api_param.h:28:1: note: did you mean struct here?
class my_slope_t;
^~~~~
struct
2 warnings generated.
===> HOSTCXX script/api/api_obj_desc.cc
In file included from script/api/api_obj_desc.cc:6:
script/api/api_simple.h:13:1: warning: 'my_ribi_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_ribi_t {
^
script/api/../api_param.h:27:1: note: did you mean struct here?
class my_ribi_t;
^~~~~
struct
In file included from script/api/api_obj_desc.cc:6:
script/api/api_simple.h:19:1: warning: 'my_slope_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_slope_t {
^
script/api/../api_param.h:28:1: note: did you mean struct here?
class my_slope_t;
^~~~~
struct
2 warnings generated.
===> HOSTCXX script/api/api_obj_desc_base.cc
===> HOSTCXX script/api/api_pathfinding.cc
===> HOSTCXX script/api/api_player.cc
===> HOSTCXX script/api/api_scenario.cc
===> HOSTCXX script/api/api_schedule.cc
===> HOSTCXX script/api/api_settings.cc
In file included from script/api/api_settings.cc:6:
script/api/api_simple.h:13:1: warning: 'my_ribi_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_ribi_t {
^
script/api/../api_param.h:27:1: note: did you mean struct here?
class my_ribi_t;
^~~~~
struct
In file included from script/api/api_settings.cc:6:
script/api/api_simple.h:19:1: warning: 'my_slope_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_slope_t {
^
script/api/../api_param.h:28:1: note: did you mean struct here?
class my_slope_t;
^~~~~
struct
2 warnings generated.
===> HOSTCXX script/api/api_simple.cc
In file included from script/api/api_simple.cc:5:
script/api/api_simple.h:13:1: warning: 'my_ribi_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_ribi_t {
^
script/api/../api_param.h:27:1: note: did you mean struct here?
class my_ribi_t;
^~~~~
struct
In file included from script/api/api_simple.cc:5:
script/api/api_simple.h:19:1: warning: 'my_slope_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_slope_t {
^
script/api/../api_param.h:28:1: note: did you mean struct here?
class my_slope_t;
^~~~~
struct
2 warnings generated.
===> HOSTCXX script/api/api_tiles.cc
In file included from script/api/api_tiles.cc:5:
script/api/api_simple.h:13:1: warning: 'my_ribi_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_ribi_t {
^
script/api/../api_param.h:27:1: note: did you mean struct here?
class my_ribi_t;
^~~~~
struct
In file included from script/api/api_tiles.cc:5:
script/api/api_simple.h:19:1: warning: 'my_slope_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_slope_t {
^
script/api/../api_param.h:28:1: note: did you mean struct here?
class my_slope_t;
^~~~~
struct
2 warnings generated.
===> HOSTCXX script/api/api_world.cc
In file included from script/api/api_world.cc:5:
script/api/api_simple.h:13:1: warning: 'my_ribi_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_ribi_t {
^
script/api/../api_param.h:27:1: note: did you mean struct here?
class my_ribi_t;
^~~~~
struct
In file included from script/api/api_world.cc:5:
script/api/api_simple.h:19:1: warning: 'my_slope_t' defined as a struct here but
      previously declared as a class [-Wmismatched-tags]
struct my_slope_t {
^
script/api/../api_param.h:28:1: note: did you mean struct here?
class my_slope_t;
^~~~~
struct
2 warnings generated.
===> HOSTCXX script/api/export_desc.cc
===> HOSTCXX script/api/get_next.cc
===> HOSTCXX script/dynamic_string.cc
===> HOSTCXX script/export_objs.cc
===> HOSTCXX script/script.cc
===> HOSTCXX squirrel/sq_extensions.cc
===> HOSTCXX squirrel/squirrel/sqapi.cc
In file included from squirrel/squirrel/sqapi.cc:9:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqclass.cc
In file included from squirrel/squirrel/sqclass.cc:8:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqdebug.cc
In file included from squirrel/squirrel/sqdebug.cc:7:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqlexer.cc
===> HOSTCXX squirrel/squirrel/sqobject.cc
In file included from squirrel/squirrel/sqobject.cc:10:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqtable.cc
In file included from squirrel/squirrel/sqtable.cc:7:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqbaselib.cc
In file included from squirrel/squirrel/sqbaselib.cc:9:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqcompiler.cc
In file included from squirrel/squirrel/sqcompiler.cc:11:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqfuncstate.cc
In file included from squirrel/squirrel/sqfuncstate.cc:8:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqmem.cc
===> HOSTCXX squirrel/squirrel/sqstate.cc
In file included from squirrel/squirrel/sqstate.cc:7:
squirrel/squirrel/sqfuncproto.h:79:18: warning: cast from 'SQInstruction *' to
      'SQObjectPtr *' increases required alignment from 4 to 8 [-Wcast-align]
                f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions];
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
===> HOSTCXX squirrel/squirrel/sqvm.cc
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:147:85: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return type();}
                                                           ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:148:85: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
                                                           ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:149:88: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return type();}
                                                              ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:158:89: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return type();}
                                                               ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:159:93: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return type();}
                                                                   ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:171:90: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type();}
                                                                ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:172:91: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type();}
                                                                 ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:173:95: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type();}
                                                                     ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:174:92: error:
      expected expression
  ...static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return type();}
                                                                  ^
squirrel/squirrel/sqobject.h:131:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:205:53: error:
      member reference base type 'int' is not a structure or union
    static _LIBCPP_CONSTEXPR const bool is_signed = type(-1) < type(0);
                                                    ^~~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:205:64: error:
      member reference base type 'int' is not a structure or union
    static _LIBCPP_CONSTEXPR const bool is_signed = type(-1) < type(0);
                                                               ^~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:210:66: error:
      member reference base type 'int' is not a structure or union
  ...const type __max = is_signed ? type(type(~0) ^ __min) : type(~0);
                                    ~~~~~^~~~~~~~~~~~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                        ^~~~~~
squirrel/squirrel/sqobject.h:131:21: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                    ^~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:210:86: error:
      member reference base type 'int' is not a structure or union
  ...const type __max = is_signed ? type(type(~0) ^ __min) : type(~0);
                                                             ^~~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:218:89: error:
      member reference base type 'int' is not a structure or union
  ...static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return type(0);}
                                                               ^~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:219:93: error:
      member reference base type 'int' is not a structure or union
  ...static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return type(0);}
                                                                   ^~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:231:90: error:
      member reference base type 'int' is not a structure or union
  ...static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type(0);}
                                                                ^~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:232:91: error:
      member reference base type 'int' is not a structure or union
  ...static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type(0);}
                                                                 ^~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:233:95: error:
      member reference base type 'int' is not a structure or union
  ..._LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type(0);}
                                                              ^~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
In file included from squirrel/squirrel/sqvm.cc:5:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:310:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits:234:92: error:
      member reference base type 'int' is not a structure or union
  ...static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return type(0);}
                                                                  ^~~~~~~
squirrel/squirrel/sqobject.h:131:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [build/default/squirrel/squirrel/sqvm.o] Error 1
==> DONE ...

==> Operation taked 1 minutes and 44 seconds ...

logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

My Build Script (BuildME):
Code: [Select]
#!/usr/bin/env bash
#

starttimestamp=`date +%s`

MY_PATH="`dirname \"$0\"`"              # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`"  # absolutized and normalized
if [ -z "$MY_PATH" ] ; then
  # error; for some reason, the path is not accessible
  # to the script (e.g. permissions re-evaled after suid)
  exit 1  # fail
fi
cd "$MY_PATH"

echo "==> Starting ..."
#Base Name
simarchivbase=Simutrans

#Get Version Number
sim_version=""
sim_version_major=`grep "#define SIM_VERSION_MAJOR" simversion.h | sed 's/#define SIM_VERSION_MAJOR //g'`
sim_version_minor=`grep "#define SIM_VERSION_MINOR" simversion.h | sed 's/#define SIM_VERSION_MINOR   //g'`
sim_version_patch=`grep "#define SIM_VERSION_PATCH" simversion.h | sed 's/#define SIM_VERSION_PATCH   //g'`
sim_version_build=`grep "#define SIM_VERSION_BUILD" simversion.h | sed 's/#define SIM_VERSION_BUILD //g'`

if [ "$sim_version_build" = "SIM_BUILD_NIGHTLY" ]; then
  sim_version_build="Nightly"
elif [ "$sim_version_build" = "SIM_BUILD_RELEASE_CANDIDATE" ]; then
sim_version_build="Release Candidate"
elif [ "$sim_version_build" = "SIM_BUILD_RELEASE" ]; then
  sim_version_build="Release"
else
  sim_version_build=""
fi

sim_version="$sim_version_major.$sim_version_minor.$sim_version_patch $sim_version_build"

#Get Revision Number
REV_NR=`svnversion`

#Print Simutrans Version
echo "==> Version: $simarchivbase $sim_version - r$REV_NR ..."

echo "==> MAKE Simutrans ..."
if [ -d build ]; then
        echo "==> Removing old build ..."
        rm -rf build
fi
make

endtimestamp=`date +%s`

echo "==> DONE ..."
echo
declare -i timestamp
declare -i days
declare -i hours
declare -i minutes
declare -i seconds
timestamp=$endtimestamp-$starttimestamp

days=$timestamp/60/60/24
hours=$((($timestamp-($days*60*60*24))/60/60))
minutes=$((($timestamp-($days*60*60*24)-($hours*60*60))/60))
seconds=$((($timestamp-($days*60*60*24)-($hours*60*60)-($minutes*60))))
if [ $days -eq 0 ]; then
    if [ $hours -eq 0 ]; then
        if [ $minutes -eq 0 ]; then
            echo "==> Operation taked $seconds seconds ..."
        else
            echo "==> Operation taked $minutes minutes and $seconds seconds ..."
        fi
    else
        echo "==> Operation taked $hours hours $minutes minutes and $seconds seconds ..."
    fi
else
    echo "==> Operation taked $days days $hours hours $minutes minutes and $seconds seconds ..."
fi
echo
open ./

I don't know what to do. Can you help me somehow?

Offline An_dz

  • Web Admin
  • Administrator
  • *
  • Posts: 2594
  • Total likes: 290
  • Helpful: 89
  • D'oh
    • by An_dz
  • Languages: PT, EN, (it, de)
Re: r8267: Can't be compile on macOS because of squirrel
« Reply #1 on: July 19, 2017, 03:26:15 PM »
The only other person here that I know to have a Mac is THLeaderH.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 4894
  • Total likes: 213
  • Helpful: 108
  • Languages: EN, NO
Re: r8267: Can't be compile on macOS because of squirrel
« Reply #2 on: July 19, 2017, 06:07:31 PM »
I'm not sure how wise/nice it is for a library to use plain words like type in their implementation when those have not been reserved. Haven't names with one or two underscores first been reserved for that?

It also seems a bit strange that it should fail in the C++ library, when squirrel doesn't include any C++ headers, just C headers! Well, it does include <new>, but that is before it defines its type macro.

On the other hand, one might argue that one should include all system headers before defining ones own macros, except when those macros are to configure the system headers.

Since Squirrel is included in the Simutrans source code rather than used as a library, I'm not sure if any fixes from the Squirrel project would benefit Simutrans. I don't know how often updated code is merged in. On the other hand, that means we can do our own changes, although that makes merging in newer code more difficult.

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4273
  • Total likes: 193
  • Helpful: 149
  • Languages: EN, DE, AT
Re: r8267: Can't be compile on macOS because of squirrel
« Reply #3 on: July 19, 2017, 06:27:34 PM »
The fix mentioned at this openttd fork added the following line:
Code: [Select]
#define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
Could you please check if it works when you add this line to the very top of squirrel.h ?

Edit:
Since Squirrel is included in the Simutrans source code rather than used as a library, I'm not sure if any fixes from the Squirrel project would benefit Simutrans. I don't know how often updated code is merged in. On the other hand, that means we can do our own changes, although that makes merging in newer code more difficult.
I try to merge changes of squirrel back into our code, at least if a new squirrel version is released.
Parsley, sage, rosemary, and maggikraut.

Offline MMMHHH

Re: r8267: Can't be compile on macOS because of squirrel
« Reply #4 on: July 20, 2017, 09:37:04 AM »
I did what you say and it didn't work. Same output as before.

What I did:
Code: [Select]
MacBook-Pro:simutrans user$ svn diff -r 8269 squirrel/squirrel.h
Index: squirrel/squirrel.h
===================================================================
--- squirrel/squirrel.h (revision 8269)
+++ squirrel/squirrel.h (working copy)
@@ -19,6 +19,8 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
+#define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
+
 #ifndef _SQUIRREL_H_
 #define _SQUIRREL_H_

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4273
  • Total likes: 193
  • Helpful: 149
  • Languages: EN, DE, AT
Re: r8267: Can't be compile on macOS because of squirrel
« Reply #5 on: July 21, 2017, 03:26:14 PM »
Seems that the offending header is included before squirrel.h . Could you please test if it helps when you add this line to the beginning of squirrel/sqpcheader.h ?
Parsley, sage, rosemary, and maggikraut.

Offline MMMHHH

Re: r8267: Can't be compile on macOS because of squirrel
« Reply #6 on: July 22, 2017, 02:30:37 PM »
Didn't work.
Also didn't work in squirrel/squirrel/sqvm.cc which cause problems
Code: [Select]
MacBook-Pro:simutrans user$ svn diff -r 8271 squirrel/squirrel/sqpcheader.h
Index: squirrel/squirrel/sqpcheader.h
===================================================================
--- squirrel/squirrel/sqpcheader.h (revision 8271)
+++ squirrel/squirrel/sqpcheader.h (working copy)
@@ -1,3 +1,5 @@
+#define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
+
 /* see copyright notice in squirrel.h */
 #ifndef _SQPCHEADER_H_
 #define _SQPCHEADER_H_

MacBook-Pro:simutrans user$ svn diff -r 8271 squirrel/squirrel/sqvm.h
Index: squirrel/squirrel/sqvm.h
===================================================================
--- squirrel/squirrel/sqvm.h (revision 8271)
+++ squirrel/squirrel/sqvm.h (working copy)
@@ -1,3 +1,5 @@
+#define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
+
 /* see copyright notice in squirrel.h */
 #ifndef _SQVM_H_
 #define _SQVM_H_

MacBook-Pro:simutrans user$ svn diff -r 8271 squirrel/squirrel/sqvm.cc
Index: squirrel/squirrel/sqvm.cc
===================================================================
--- squirrel/squirrel/sqvm.cc (revision 8271)
+++ squirrel/squirrel/sqvm.cc (working copy)
@@ -1,6 +1,8 @@
 /*
  see copyright notice in squirrel.h
 */
+#define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
+
 #include "sqpcheader.h"
 #include <math.h>
 #include <stdlib.h>

Shouldn't we define this macro globally?

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4273
  • Total likes: 193
  • Helpful: 149
  • Languages: EN, DE, AT
Re: r8267: Can't be compile on macOS because of squirrel
« Reply #7 on: July 22, 2017, 02:49:38 PM »
You could try to define it globally.
Parsley, sage, rosemary, and maggikraut.

Offline MMMHHH

Re: r8267: Can't be compile on macOS because of squirrel
« Reply #8 on: July 25, 2017, 06:40:52 PM »
I tried add this
Quote
#define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
inside every file in /squirrel but it doesn't work...

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4273
  • Total likes: 193
  • Helpful: 149
  • Languages: EN, DE, AT
Re: r8267: Can't be compile on macOS because of squirrel
« Reply #9 on: July 26, 2017, 07:16:51 AM »
Could you try to compile with
Code: [Select]
-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0
sent to the compiler?
Parsley, sage, rosemary, and maggikraut.

Offline MMMHHH

Re: r8267: Can't be compile on macOS because of squirrel
« Reply #10 on: July 28, 2017, 05:48:47 PM »
Nope, It doesn't work. But there is a action from mainter of squirrel https://github.com/albertodemichelis/squirrel/issues/98

We will see, if it will work. Hopefully it will.

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4273
  • Total likes: 193
  • Helpful: 149
  • Languages: EN, DE, AT
Re: r8267: Can't be compile on macOS because of squirrel
« Reply #11 on: July 29, 2017, 09:12:53 AM »
If there is any progress on the squirrel repository, I will happily apply those changes.
Parsley, sage, rosemary, and maggikraut.

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4273
  • Total likes: 193
  • Helpful: 149
  • Languages: EN, DE, AT
Re: r8267: Can't be compile on macOS because of squirrel
« Reply #12 on: August 09, 2017, 04:31:54 PM »
please check with r8282
Parsley, sage, rosemary, and maggikraut.