aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Germain <benoit.germain@ubisoft.com>2025-03-14 11:32:58 +0100
committerBenoit Germain <benoit.germain@ubisoft.com>2025-03-14 11:32:58 +0100
commitdee0756ff21c1f7dd4eea067dfb90feb1ba4763d (patch)
tree981ddd4ddc22bc1fae54ce3e0034da746571fb1a
parent536a64557c82c350fd73ea64c6d4dd1737896579 (diff)
downloadlanes-dee0756ff21c1f7dd4eea067dfb90feb1ba4763d.tar.gz
lanes-dee0756ff21c1f7dd4eea067dfb90feb1ba4763d.tar.bz2
lanes-dee0756ff21c1f7dd4eea067dfb90feb1ba4763d.zip
lanes/core.[so|dll] → lanes_core.[so|dll]
-rw-r--r--CHANGES1
-rw-r--r--CMakeLists.txt10
-rw-r--r--Lanes.vcxproj145
-rw-r--r--Makefile8
-rw-r--r--docs/index.html4
-rw-r--r--lanes-4.0.0-0.rockspec2
-rw-r--r--make-vc.cmd12
-rw-r--r--src/Lanes.makefile11
-rw-r--r--src/lane.hpp2
-rw-r--r--src/lanes.cpp12
-rw-r--r--src/lanes.lua10
-rw-r--r--src/state.cpp7
-rw-r--r--src/universe.cpp2
-rw-r--r--tests/irayo_recursive.lua2
-rw-r--r--unit_tests/embedded_tests.cpp4
-rw-r--r--unit_tests/lane_tests.cpp2
-rw-r--r--unit_tests/shared.cpp2
17 files changed, 119 insertions, 117 deletions
diff --git a/CHANGES b/CHANGES
index ca1a42c..713249c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,7 @@ CHANGE 2: BGe 27-Nov-24
9 * Lanes API changes 9 * Lanes API changes
10 - Version is now 4.0.0 10 - Version is now 4.0.0
11 - Lanes module: 11 - Lanes module:
12 - shared library is now lanes_core.[so|dll] instead of lanes/core.[so|dll]
12 - lanes.register() is also available as lanes_register() in the exported C API. 13 - lanes.register() is also available as lanes_register() in the exported C API.
13 - lanes.sleep() accepts a new argument "indefinitely" to block forever (until hard cancellation is received). 14 - lanes.sleep() accepts a new argument "indefinitely" to block forever (until hard cancellation is received).
14 - function set_debug_threadname() available inside a Lane is renamed lane_threadname(); can now both read and write the name. 15 - function set_debug_threadname() available inside a Lane is renamed lane_threadname(); can now both read and write the name.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7f2701b..be6a2f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,7 +29,7 @@ ENDIF(CYGWIN)
29# Build 29# Build
30INCLUDE_DIRECTORIES(src) 30INCLUDE_DIRECTORIES(src)
31aux_source_directory(./src LANES_SRC) 31aux_source_directory(./src LANES_SRC)
32ADD_LIBRARY(core MODULE ${LANES_SRC}) 32ADD_LIBRARY(lanes_core MODULE ${LANES_SRC})
33 33
34IF(UNIX AND NOT CYGWIN) 34IF(UNIX AND NOT CYGWIN)
35 SET(LIBS pthread) 35 SET(LIBS pthread)
@@ -37,12 +37,12 @@ ENDIF(UNIX AND NOT CYGWIN)
37 37
38 38
39if(WIN32) 39if(WIN32)
40TARGET_LINK_LIBRARIES(core ${LUA_LIBRARY} ${LIBS}) 40TARGET_LINK_LIBRARIES(lanes_core ${LUA_LIBRARY} ${LIBS})
41else(WIN32) 41else(WIN32)
42TARGET_LINK_LIBRARIES(core ${LIBS}) 42TARGET_LINK_LIBRARIES(lanes_core ${LIBS})
43endif(WIN32) 43endif(WIN32)
44 44
45SET_TARGET_PROPERTIES(core PROPERTIES PREFIX "") 45SET_TARGET_PROPERTIES(lanes_core PROPERTIES PREFIX "")
46 46
47# Install all files and documentation 47# Install all files and documentation
48set(INSTALL_LMOD share/lua/lmod CACHE PATH "Directory to install Lua modules.") 48set(INSTALL_LMOD share/lua/lmod CACHE PATH "Directory to install Lua modules.")
@@ -51,7 +51,7 @@ set(INSTALL_DATA share/${PROJECT_NAME} CACHE PATH "Directory the package can sto
51set(INSTALL_DOC ${INSTALL_DATA}/doc CACHE PATH "Recommended directory to install documentation into.") 51set(INSTALL_DOC ${INSTALL_DATA}/doc CACHE PATH "Recommended directory to install documentation into.")
52set(INSTALL_TEST ${INSTALL_DATA}/test CACHE PATH "Recommended directory to install tests into.") 52set(INSTALL_TEST ${INSTALL_DATA}/test CACHE PATH "Recommended directory to install tests into.")
53 53
54INSTALL (TARGETS core DESTINATION ${INSTALL_CMOD}) 54INSTALL (TARGETS lanes_core DESTINATION ${INSTALL_CMOD})
55INSTALL (FILES src/lanes.lua DESTINATION ${INSTALL_LMOD}) 55INSTALL (FILES src/lanes.lua DESTINATION ${INSTALL_LMOD})
56 56
57INSTALL (FILES ABOUT BUGS COPYRIGHT CHANGES README TODO DESTINATION ${INSTALL_DATA}) 57INSTALL (FILES ABOUT BUGS COPYRIGHT CHANGES README TODO DESTINATION ${INSTALL_DATA})
diff --git a/Lanes.vcxproj b/Lanes.vcxproj
index 740af04..1575789 100644
--- a/Lanes.vcxproj
+++ b/Lanes.vcxproj
@@ -402,26 +402,26 @@
402 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release 5.1|Win32'">false</LinkIncremental> 402 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release 5.1|Win32'">false</LinkIncremental>
403 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release 5.1|x64'">false</LinkIncremental> 403 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release 5.1|x64'">false</LinkIncremental>
404 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release 5.2|x64'">false</LinkIncremental> 404 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release 5.2|x64'">false</LinkIncremental>
405 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|Win32'">core</TargetName> 405 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|Win32'">lanes_core</TargetName>
406 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug LuaJIT|Win32'">core</TargetName> 406 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug LuaJIT|Win32'">lanes_core</TargetName>
407 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.3|Win32'">core</TargetName> 407 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.3|Win32'">lanes_core</TargetName>
408 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.4|Win32'">core</TargetName> 408 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.4|Win32'">lanes_core</TargetName>
409 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug MoonJIT|Win32'">core</TargetName> 409 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug MoonJIT|Win32'">lanes_core</TargetName>
410 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.3|Win32'">core</TargetName> 410 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.3|Win32'">lanes_core</TargetName>
411 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.4|Win32'">core</TargetName> 411 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.4|Win32'">lanes_core</TargetName>
412 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|x64'">core</TargetName> 412 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|x64'">lanes_core</TargetName>
413 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug LuaJIT|x64'">core</TargetName> 413 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug LuaJIT|x64'">lanes_core</TargetName>
414 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.3|x64'">core</TargetName> 414 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.3|x64'">lanes_core</TargetName>
415 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.4|x64'">core</TargetName> 415 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.4|x64'">lanes_core</TargetName>
416 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug MoonJIT|x64'">core</TargetName> 416 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug MoonJIT|x64'">lanes_core</TargetName>
417 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.3|x64'">core</TargetName> 417 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.3|x64'">lanes_core</TargetName>
418 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.4|x64'">core</TargetName> 418 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.4|x64'">lanes_core</TargetName>
419 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.2|Win32'">core</TargetName> 419 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.2|Win32'">lanes_core</TargetName>
420 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.2|x64'">core</TargetName> 420 <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug 5.2|x64'">lanes_core</TargetName>
421 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.1|Win32'">core</TargetName> 421 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.1|Win32'">lanes_core</TargetName>
422 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.1|x64'">core</TargetName> 422 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.1|x64'">lanes_core</TargetName>
423 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.2|Win32'">core</TargetName> 423 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.2|Win32'">lanes_core</TargetName>
424 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.2|x64'">core</TargetName> 424 <TargetName Condition="'$(Configuration)|$(Platform)'=='Release 5.2|x64'">lanes_core</TargetName>
425 </PropertyGroup> 425 </PropertyGroup>
426 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.2|x64'"> 426 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.2|x64'">
427 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 427 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
@@ -501,52 +501,52 @@
501 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|Prospero'"> 501 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|Prospero'">
502 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 502 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
503 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 503 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
504 <TargetName>core</TargetName> 504 <TargetName>lanes_core</TargetName>
505 </PropertyGroup> 505 </PropertyGroup>
506 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.2|Prospero'"> 506 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.2|Prospero'">
507 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 507 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
508 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 508 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
509 <TargetName>core</TargetName> 509 <TargetName>lanes_core</TargetName>
510 </PropertyGroup> 510 </PropertyGroup>
511 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.3|Prospero'"> 511 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.3|Prospero'">
512 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 512 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
513 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 513 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
514 <TargetName>core</TargetName> 514 <TargetName>lanes_core</TargetName>
515 </PropertyGroup> 515 </PropertyGroup>
516 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.4|Prospero'"> 516 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.4|Prospero'">
517 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 517 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
518 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 518 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
519 <TargetName>core</TargetName> 519 <TargetName>lanes_core</TargetName>
520 </PropertyGroup> 520 </PropertyGroup>
521 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug LuaJIT|Prospero'"> 521 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug LuaJIT|Prospero'">
522 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 522 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
523 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 523 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
524 <TargetName>core</TargetName> 524 <TargetName>lanes_core</TargetName>
525 </PropertyGroup> 525 </PropertyGroup>
526 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug MoonJIT|Prospero'"> 526 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug MoonJIT|Prospero'">
527 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 527 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
528 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 528 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
529 <TargetName>core</TargetName> 529 <TargetName>lanes_core</TargetName>
530 </PropertyGroup> 530 </PropertyGroup>
531 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.1|Prospero'"> 531 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.1|Prospero'">
532 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 532 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
533 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 533 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
534 <TargetName>core</TargetName> 534 <TargetName>lanes_core</TargetName>
535 </PropertyGroup> 535 </PropertyGroup>
536 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.2|Prospero'"> 536 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.2|Prospero'">
537 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 537 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
538 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 538 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
539 <TargetName>core</TargetName> 539 <TargetName>lanes_core</TargetName>
540 </PropertyGroup> 540 </PropertyGroup>
541 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.3|Prospero'"> 541 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.3|Prospero'">
542 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 542 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
543 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 543 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
544 <TargetName>core</TargetName> 544 <TargetName>lanes_core</TargetName>
545 </PropertyGroup> 545 </PropertyGroup>
546 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.4|Prospero'"> 546 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.4|Prospero'">
547 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir> 547 <OutDir>$(SolutionDir)_Output\$(ProjectName)\$(PlatformName)\$(Configuration)\</OutDir>
548 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir> 548 <IntDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformName)\$(Configuration)\</IntDir>
549 <TargetName>core</TargetName> 549 <TargetName>lanes_core</TargetName>
550 </PropertyGroup> 550 </PropertyGroup>
551 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|Win32'"> 551 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|Win32'">
552 <PreBuildEvent> 552 <PreBuildEvent>
@@ -581,8 +581,8 @@
581 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary> 581 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
582 </Link> 582 </Link>
583 <PostBuildEvent> 583 <PostBuildEvent>
584 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Debug\lanes\ 584 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Debug\
585xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Debug\lanes\ 585xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Debug\
586</Command> 586</Command>
587 <Message>Copy to Lua 5.1</Message> 587 <Message>Copy to Lua 5.1</Message>
588 </PostBuildEvent> 588 </PostBuildEvent>
@@ -620,7 +620,7 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
620 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary> 620 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
621 </Link> 621 </Link>
622 <PostBuildEvent> 622 <PostBuildEvent>
623 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\LuaJIT\bin\$(Platform)\lanes\</Command> 623 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\LuaJIT\bin\$(Platform)\</Command>
624 <Message>Copy to LuaJIT</Message> 624 <Message>Copy to LuaJIT</Message>
625 </PostBuildEvent> 625 </PostBuildEvent>
626 </ItemDefinitionGroup> 626 </ItemDefinitionGroup>
@@ -657,9 +657,10 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
657 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary> 657 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
658 </Link> 658 </Link>
659 <PostBuildEvent> 659 <PostBuildEvent>
660 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\framework\lanes\ 660 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Debug\
661xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Debug\
661</Command> 662</Command>
662 <Message>Copy to framework</Message> 663 <Message>Copy to Lua 5.3</Message>
663 </PostBuildEvent> 664 </PostBuildEvent>
664 </ItemDefinitionGroup> 665 </ItemDefinitionGroup>
665 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.4|Win32'"> 666 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.4|Win32'">
@@ -695,10 +696,10 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
695 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary> 696 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
696 </Link> 697 </Link>
697 <PostBuildEvent> 698 <PostBuildEvent>
698 <Command> 699 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Debug\
699 </Command> 700xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Debug\
700 <Message> 701</Command>
701 </Message> 702 <Message>Copy to Lua 5.4</Message>
702 </PostBuildEvent> 703 </PostBuildEvent>
703 </ItemDefinitionGroup> 704 </ItemDefinitionGroup>
704 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug MoonJIT|Win32'"> 705 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug MoonJIT|Win32'">
@@ -734,7 +735,7 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
734 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary> 735 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
735 </Link> 736 </Link>
736 <PostBuildEvent> 737 <PostBuildEvent>
737 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\MoonJIT\bin\$(Platform)\lanes\</Command> 738 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\MoonJIT\bin\$(Platform)\</Command>
738 <Message>Copy to MoonJIT</Message> 739 <Message>Copy to MoonJIT</Message>
739 </PostBuildEvent> 740 </PostBuildEvent>
740 </ItemDefinitionGroup> 741 </ItemDefinitionGroup>
@@ -772,9 +773,10 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
772 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 773 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
773 </Link> 774 </Link>
774 <PostBuildEvent> 775 <PostBuildEvent>
775 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\framework\lanes\ 776 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Release\
777xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua513\bin\$(Platform)\Release\
776</Command> 778</Command>
777 <Message>Copy to framework</Message> 779 <Message>Copy to Lua 5.3</Message>
778 </PostBuildEvent> 780 </PostBuildEvent>
779 </ItemDefinitionGroup> 781 </ItemDefinitionGroup>
780 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.4|Win32'"> 782 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.4|Win32'">
@@ -810,9 +812,10 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
810 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 812 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
811 </Link> 813 </Link>
812 <PostBuildEvent> 814 <PostBuildEvent>
813 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\framework\lanes\ 815 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Release\
816xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Release\
814</Command> 817</Command>
815 <Message>Copy to framework</Message> 818 <Message>Copy to Lua 5.4</Message>
816 </PostBuildEvent> 819 </PostBuildEvent>
817 </ItemDefinitionGroup> 820 </ItemDefinitionGroup>
818 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|x64'"> 821 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug 5.1|x64'">
@@ -843,8 +846,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
843 </DataExecutionPrevention> 846 </DataExecutionPrevention>
844 </Link> 847 </Link>
845 <PostBuildEvent> 848 <PostBuildEvent>
846 <Command>xcopy /F /R /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Debug\lanes\ 849 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Debug\
847xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Debug\lanes\ 850xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Debug\
848</Command> 851</Command>
849 <Message>Copy to Lua 5.1</Message> 852 <Message>Copy to Lua 5.1</Message>
850 </PostBuildEvent> 853 </PostBuildEvent>
@@ -877,7 +880,7 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
877 </DataExecutionPrevention> 880 </DataExecutionPrevention>
878 </Link> 881 </Link>
879 <PostBuildEvent> 882 <PostBuildEvent>
880 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\LuaJIT\bin\$(Platform)\lanes\</Command> 883 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\LuaJIT\bin\$(Platform)\</Command>
881 <Message>Copy to LuaJIT</Message> 884 <Message>Copy to LuaJIT</Message>
882 </PostBuildEvent> 885 </PostBuildEvent>
883 </ItemDefinitionGroup> 886 </ItemDefinitionGroup>
@@ -909,8 +912,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
909 </DataExecutionPrevention> 912 </DataExecutionPrevention>
910 </Link> 913 </Link>
911 <PostBuildEvent> 914 <PostBuildEvent>
912 <Command>xcopy /F /R /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Debug\lanes\ 915 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Debug\
913xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Debug\lanes\ 916xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Debug\
914</Command> 917</Command>
915 <Message>Copy to Lua 5.3</Message> 918 <Message>Copy to Lua 5.3</Message>
916 </PostBuildEvent> 919 </PostBuildEvent>
@@ -943,8 +946,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua53\bin\$(Platfo
943 </DataExecutionPrevention> 946 </DataExecutionPrevention>
944 </Link> 947 </Link>
945 <PostBuildEvent> 948 <PostBuildEvent>
946 <Command>xcopy /F /R /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Debug\lanes\ 949 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Debug\
947xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Debug\lanes\ 950xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Debug\
948</Command> 951</Command>
949 <Message>Copy to Lua 5.4</Message> 952 <Message>Copy to Lua 5.4</Message>
950 </PostBuildEvent> 953 </PostBuildEvent>
@@ -977,7 +980,7 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platfo
977 </DataExecutionPrevention> 980 </DataExecutionPrevention>
978 </Link> 981 </Link>
979 <PostBuildEvent> 982 <PostBuildEvent>
980 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\MoonJIT\bin\$(Platform)\lanes\</Command> 983 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\MoonJIT\bin\$(Platform)\</Command>
981 <Message>Copy to MoonJIT</Message> 984 <Message>Copy to MoonJIT</Message>
982 </PostBuildEvent> 985 </PostBuildEvent>
983 </ItemDefinitionGroup> 986 </ItemDefinitionGroup>
@@ -1010,8 +1013,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platfo
1010 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 1013 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
1011 </Link> 1014 </Link>
1012 <PostBuildEvent> 1015 <PostBuildEvent>
1013 <Command>xcopy /F /R /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Release\lanes\ 1016 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Release\
1014xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua53\bin\$(Platform)\Release\lanes\ 1017xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua513\bin\$(Platform)\Release\
1015</Command> 1018</Command>
1016 <Message>Copy to Lua 5.3</Message> 1019 <Message>Copy to Lua 5.3</Message>
1017 </PostBuildEvent> 1020 </PostBuildEvent>
@@ -1045,8 +1048,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua53\bin\$(Platfo
1045 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 1048 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
1046 </Link> 1049 </Link>
1047 <PostBuildEvent> 1050 <PostBuildEvent>
1048 <Command>xcopy /F /R /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Release\lanes\ 1051 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Release\
1049xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Release\lanes\ 1052xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platform)\Release\
1050</Command> 1053</Command>
1051 <Message>Copy to Lua 5.4</Message> 1054 <Message>Copy to Lua 5.4</Message>
1052 </PostBuildEvent> 1055 </PostBuildEvent>
@@ -1084,8 +1087,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua54\bin\$(Platfo
1084 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary> 1087 <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
1085 </Link> 1088 </Link>
1086 <PostBuildEvent> 1089 <PostBuildEvent>
1087 <Command>xcopy /R /F /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Debug\lanes\ 1090 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Debug\
1088xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Debug\lanes\ 1091xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Debug\
1089</Command> 1092</Command>
1090 <Message>Copy to Lua 5.2</Message> 1093 <Message>Copy to Lua 5.2</Message>
1091 </PostBuildEvent> 1094 </PostBuildEvent>
@@ -1118,8 +1121,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platfo
1118 </DataExecutionPrevention> 1121 </DataExecutionPrevention>
1119 </Link> 1122 </Link>
1120 <PostBuildEvent> 1123 <PostBuildEvent>
1121 <Command>xcopy /F /R /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Debug\lanes\ 1124 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Debug\
1122xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Debug\lanes\ 1125xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Debug\
1123</Command> 1126</Command>
1124 <Message>Copy to Lua 5.2</Message> 1127 <Message>Copy to Lua 5.2</Message>
1125 </PostBuildEvent> 1128 </PostBuildEvent>
@@ -1158,10 +1161,10 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platfo
1158 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 1161 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
1159 </Link> 1162 </Link>
1160 <PostBuildEvent> 1163 <PostBuildEvent>
1161 <Command> 1164 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Release\
1162 </Command> 1165xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Release\
1163 <Message> 1166</Command>
1164 </Message> 1167 <Message>Copy to Lua 5.1</Message>
1165 </PostBuildEvent> 1168 </PostBuildEvent>
1166 </ItemDefinitionGroup> 1169 </ItemDefinitionGroup>
1167 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.1|x64'"> 1170 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.1|x64'">
@@ -1194,8 +1197,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platfo
1194 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 1197 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
1195 </Link> 1198 </Link>
1196 <PostBuildEvent> 1199 <PostBuildEvent>
1197 <Command>xcopy /F /R /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Release\lanes\ 1200 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Release\
1198xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Release\lanes\ 1201xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platform)\Release\
1199</Command> 1202</Command>
1200 <Message>Copy to Lua 5.1</Message> 1203 <Message>Copy to Lua 5.1</Message>
1201 </PostBuildEvent> 1204 </PostBuildEvent>
@@ -1234,8 +1237,10 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
1234 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 1237 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
1235 </Link> 1238 </Link>
1236 <PostBuildEvent> 1239 <PostBuildEvent>
1237 <Command> 1240 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Release\
1238 </Command> 1241xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Release\
1242</Command>
1243 <Message>Copy to Lua 5.2</Message>
1239 </PostBuildEvent> 1244 </PostBuildEvent>
1240 </ItemDefinitionGroup> 1245 </ItemDefinitionGroup>
1241 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.2|x64'"> 1246 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release 5.2|x64'">
@@ -1268,8 +1273,8 @@ xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua51\bin\$(Platfo
1268 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 1273 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
1269 </Link> 1274 </Link>
1270 <PostBuildEvent> 1275 <PostBuildEvent>
1271 <Command>xcopy /F /R /Y /I "$(TargetPath)" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Release\lanes\ 1276 <Command>xcopy /F /I /R /Y "$(TargetPath)" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Release\
1272xcopy /F /R /Y "$(OutputPath)core.pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Release\lanes\ 1277xcopy /F /I /R /Y "$(OutputPath)$(TargetName).pdb" $(SolutionDir)..\..\..\Lua52\bin\$(Platform)\Release\
1273</Command> 1278</Command>
1274 <Message>Copy to Lua 5.2</Message> 1279 <Message>Copy to Lua 5.2</Message>
1275 </PostBuildEvent> 1280 </PostBuildEvent>
diff --git a/Makefile b/Makefile
index c620f0f..c0f08b4 100644
--- a/Makefile
+++ b/Makefile
@@ -38,7 +38,7 @@ LUA_VERSION := $(shell $(LUA) -e "print(string.sub(_VERSION,5,7))")
38$(info LUA: $(LUA)) 38$(info LUA: $(LUA))
39$(info LUA_VERSION: $(LUA_VERSION)) 39$(info LUA_VERSION: $(LUA_VERSION))
40 40
41_LANES_TARGET := src/lanes/core.$(_SO) 41_LANES_TARGET := src/lanes_core.$(_SO)
42$(info _LANES_TARGET: $(_LANES_TARGET)) 42$(info _LANES_TARGET: $(_LANES_TARGET))
43 43
44_UNITTEST_TARGET := unit_tests/UnitTests$(_LUAEXT) 44_UNITTEST_TARGET := unit_tests/UnitTests$(_LUAEXT)
@@ -271,12 +271,12 @@ LUA_SHAREDIR:=$(DESTDIR)/share/lua/$(LUA_VERSION)
271# AKa 17-Oct: changed to use 'install -m 644' and 'cp -p' 271# AKa 17-Oct: changed to use 'install -m 644' and 'cp -p'
272# 272#
273install: $(_LANES_TARGET) src/lanes.lua 273install: $(_LANES_TARGET) src/lanes.lua
274 mkdir -p $(LUA_LIBDIR) $(LUA_LIBDIR)/lanes $(LUA_SHAREDIR) 274 mkdir -p $(LUA_LIBDIR) $(LUA_SHAREDIR)
275 install -m 644 $(_LANES_TARGET) $(LUA_LIBDIR)/lanes 275 install -m 644 $(_LANES_TARGET) $(LUA_LIBDIR)
276 cp -p src/lanes.lua $(LUA_SHAREDIR) 276 cp -p src/lanes.lua $(LUA_SHAREDIR)
277 277
278uninstall: 278uninstall:
279 rm $(LUA_LIBDIR)/lanes/core.$(_SO) 279 rm $(LUA_LIBDIR)/lanes_core.$(_SO)
280 rm $(LUA_SHAREDIR)/lanes.lua 280 rm $(LUA_SHAREDIR)/lanes.lua
281 rm $(LUA_LIBDIR)/deep_userdata_example.$(_SO) 281 rm $(LUA_LIBDIR)/deep_userdata_example.$(_SO)
282 282
diff --git a/docs/index.html b/docs/index.html
index d7717dc..28acf3b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -156,7 +156,7 @@
156</p> 156</p>
157 157
158<p> 158<p>
159 To install Lanes, all you need are the <tt>lanes.lua</tt> and <tt>lanes/core.so|dll</tt> files to be reachable by Lua (see LUA_PATH, LUA_CPATH). 159 To install Lanes, all you need are the <tt>lanes.lua</tt> and <tt>lanes_core.so|dll</tt> files to be reachable by Lua (see LUA_PATH, LUA_CPATH).
160 Or use <A HREF="http://www.luarocks.org" TARGET="_blank">Lua Rocks</A> package management. 160 Or use <A HREF="http://www.luarocks.org" TARGET="_blank">Lua Rocks</A> package management.
161</p> 161</p>
162 162
@@ -688,7 +688,7 @@
688 </td> 688 </td>
689 <td /> 689 <td />
690 <td> 690 <td>
691 All standard libraries (including those specific to LuaJIT and not listed above), as well as <tt>lanes.core</tt>. This must be used alone. 691 All standard libraries (including those specific to LuaJIT and not listed above), as well as <tt>lanes_core</tt>. This must be used alone.
692 </td> 692 </td>
693 </tr> 693 </tr>
694 </table> 694 </table>
diff --git a/lanes-4.0.0-0.rockspec b/lanes-4.0.0-0.rockspec
index 5d85fdd..77e0f6a 100644
--- a/lanes-4.0.0-0.rockspec
+++ b/lanes-4.0.0-0.rockspec
@@ -47,7 +47,7 @@ build = {
47 { 47 {
48 modules = 48 modules =
49 { 49 {
50 ["lanes.core"] = 50 ["lanes_core"] =
51 { 51 {
52 libraries = "pthread" 52 libraries = "pthread"
53 }, 53 },
diff --git a/make-vc.cmd b/make-vc.cmd
index c50db3f..295e64d 100644
--- a/make-vc.cmd
+++ b/make-vc.cmd
@@ -84,7 +84,7 @@ goto ERR_NOLUA
84 84
85:BUILD 85:BUILD
86@REM LuaBinaries: 86@REM LuaBinaries:
87@REM The current build system does not show 'lanes/core.dll' to 87@REM The current build system does not show 'lanes_core.dll' to
88@REM be dependent on more than 'KERNEL32.DLL'. Good. 88@REM be dependent on more than 'KERNEL32.DLL'. Good.
89@REM 89@REM
90@REM Lua for Windows: 90@REM Lua for Windows:
@@ -130,15 +130,15 @@ goto ERR_NOLUA
130@REM 130@REM
131@set FLAGS=/O2 /LD 131@set FLAGS=/O2 /LD
132 132
133cl %WARN% %FLAGS% /I "%LUA51%\include" /Felanes\core.dll src\*.cpp "%LUA_LIB%\lua5.1.lib" 133cl %WARN% %FLAGS% /I "%LUA51%\include" /Felanes_core.dll src\*.cpp "%LUA_LIB%\lua5.1.lib"
134@REM cl %WARN% %FLAGS% /I "%LUA51%\include" /Felanes\core.dll src\*.cpp "%LUA_LIB%\lua5.1.lib" /link /NODEFAULTLIB:libcmt 134@REM cl %WARN% %FLAGS% /I "%LUA51%\include" /Felanes_core.dll src\*.cpp "%LUA_LIB%\lua5.1.lib" /link /NODEFAULTLIB:libcmt
135 135
136@del lanes\core.lib 136@del lanes_core.lib
137@del lanes\core.exp 137@del lanes_core.exp
138@goto EXIT 138@goto EXIT
139 139
140:CLEAN 140:CLEAN
141if exist lanes\*.dll del lanes\*.dll 141if exist lanes*.dll del lanes*.dll
142if exist delme del delme 142if exist delme del delme
143@goto EXIT 143@goto EXIT
144 144
diff --git a/src/Lanes.makefile b/src/Lanes.makefile
index 9798848..7d0a153 100644
--- a/src/Lanes.makefile
+++ b/src/Lanes.makefile
@@ -7,16 +7,14 @@
7 7
8include ../Shared.makefile 8include ../Shared.makefile
9 9
10_MODULE=lanes 10_TARGET := lanes_core.$(_SO)
11 11
12_SRC := $(wildcard *.cpp) 12_SRC := $(wildcard *.cpp)
13 13
14_OBJ := $(_SRC:.cpp=.o) 14_OBJ := $(_SRC:.cpp=.o)
15 15
16_MODULE_DIR = $(_MODULE)
17
18#--- 16#---
19all: info $(_MODULE)/core.$(_SO) 17all: info $(_TARGET)
20 18
21info: 19info:
22 $(info CC: $(CC)) 20 $(info CC: $(CC))
@@ -30,12 +28,11 @@ _pch.hpp.gch: _pch.hpp
30 28
31# Note: Don't put $(LUA_LIBS) ahead of $^; MSYS will not like that (I think) 29# Note: Don't put $(LUA_LIBS) ahead of $^; MSYS will not like that (I think)
32# 30#
33$(_MODULE_DIR)/core.$(_SO): $(_OBJ) 31$(_TARGET): $(_OBJ)
34 mkdir -p $(_MODULE_DIR)
35 $(CC) $(LIBFLAG) $^ $(LIBS) $(LUA_LIBS) -o $@ 32 $(CC) $(LIBFLAG) $^ $(LIBS) $(LUA_LIBS) -o $@
36 33
37clean: 34clean:
38 -rm -rf $(_MODULE)/core.$(_SO) *.o *.map *.gch 35 -rm -rf $(_TARGET) *.o *.map *.gch
39 36
40#--- 37#---
41# NSLU2 "slug" Linux ARM 38# NSLU2 "slug" Linux ARM
diff --git a/src/lane.hpp b/src/lane.hpp
index 4b5188c..9b678d6 100644
--- a/src/lane.hpp
+++ b/src/lane.hpp
@@ -41,7 +41,7 @@ static constexpr std::string_view kLaneMetatableName{ "Lane" };
41 41
42// must be a #define instead of a constexpr to benefit from compile-time string concatenation 42// must be a #define instead of a constexpr to benefit from compile-time string concatenation
43#define kLanesLibName "lanes" 43#define kLanesLibName "lanes"
44#define kLanesCoreLibName kLanesLibName ".core" 44#define kLanesCoreLibName kLanesLibName "_core"
45 45
46// for cancel() argument 46// for cancel() argument
47enum class [[nodiscard]] WakeLane 47enum class [[nodiscard]] WakeLane
diff --git a/src/lanes.cpp b/src/lanes.cpp
index 678540d..15e04a3 100644
--- a/src/lanes.cpp
+++ b/src/lanes.cpp
@@ -760,7 +760,7 @@ LUAG_FUNC(configure)
760 760
761 // register all native functions found in that module in the transferable functions database 761 // register all native functions found in that module in the transferable functions database
762 // we process it before _G because we don't want to find the module when scanning _G (this would generate longer names) 762 // we process it before _G because we don't want to find the module when scanning _G (this would generate longer names)
763 // for example in package.loaded["lanes.core"].* 763 // for example in package.loaded["lanes_core"].*
764 tools::PopulateFuncLookupTable(L_, kIdxTop, _name); 764 tools::PopulateFuncLookupTable(L_, kIdxTop, _name);
765 STACK_CHECK(L_, 2); 765 STACK_CHECK(L_, 2);
766 766
@@ -862,11 +862,11 @@ LANES_API int luaopen_lanes_core(lua_State* const L_)
862 // Create main module interface table 862 // Create main module interface table
863 // we only have 1 closure, which must be called to configure Lanes 863 // we only have 1 closure, which must be called to configure Lanes
864 lua_newtable(L_); // L_: M 864 lua_newtable(L_); // L_: M
865 lua_pushvalue(L_, 1); // L_: M "lanes.core" 865 lua_pushvalue(L_, 1); // L_: M "lanes_core"
866 lua_pushvalue(L_, -2); // L_: M "lanes.core" M 866 lua_pushvalue(L_, -2); // L_: M "lanes_core" M
867 lua_pushcclosure(L_, LG_configure, 2); // L_: M LG_configure() 867 lua_pushcclosure(L_, LG_configure, 2); // L_: M LG_configure()
868 kConfigRegKey.pushValue(L_); // L_: M LG_configure() settings 868 kConfigRegKey.pushValue(L_); // L_: M LG_configure() settings
869 if (!lua_isnil(L_, -1)) { // this is not the first require "lanes.core": call configure() immediately 869 if (!lua_isnil(L_, -1)) { // this is not the first require "lanes_core": call configure() immediately
870 lua_pushvalue(L_, -1); // L_: M LG_configure() settings settings 870 lua_pushvalue(L_, -1); // L_: M LG_configure() settings settings
871 lua_setfield(L_, -4, "settings"); // L_: M LG_configure() settings 871 lua_setfield(L_, -4, "settings"); // L_: M LG_configure() settings
872 lua_call(L_, 1, 0); // L_: M 872 lua_call(L_, 1, 0); // L_: M
@@ -898,8 +898,8 @@ static int default_luaopen_lanes(lua_State* const L_)
898LANES_API void luaopen_lanes_embedded(lua_State* const L_, lua_CFunction const luaopen_lanes_) 898LANES_API void luaopen_lanes_embedded(lua_State* const L_, lua_CFunction const luaopen_lanes_)
899{ 899{
900 STACK_CHECK_START_REL(L_, 0); 900 STACK_CHECK_START_REL(L_, 0);
901 // pre-require lanes.core so that when lanes.lua calls require "lanes.core" it finds it is already loaded 901 // pre-require lanes_core so that when lanes.lua calls require "lanes_core" it finds it is already loaded
902 luaL_requiref(L_, kLanesCoreLibName, luaopen_lanes_core, 0); // L_: ... lanes.core 902 luaL_requiref(L_, kLanesCoreLibName, luaopen_lanes_core, 0); // L_: ... lanes_core
903 lua_pop(L_, 1); // L_: ... 903 lua_pop(L_, 1); // L_: ...
904 STACK_CHECK(L_, 0); 904 STACK_CHECK(L_, 0);
905 // call user-provided function that runs the chunk "lanes.lua" from wherever they stored it 905 // call user-provided function that runs the chunk "lanes.lua" from wherever they stored it
diff --git a/src/lanes.lua b/src/lanes.lua
index 4df1f64..98f8c20 100644
--- a/src/lanes.lua
+++ b/src/lanes.lua
@@ -35,7 +35,7 @@ THE SOFTWARE.
35=============================================================================== 35===============================================================================
36]]-- 36]]--
37 37
38local core = require "lanes.core" 38local core = require "lanes_core"
39-- Lua 5.1: module() creates a global variable 39-- Lua 5.1: module() creates a global variable
40-- Lua 5.2: module() is gone 40-- Lua 5.2: module() is gone
41-- almost everything module() does is done by require() anyway 41-- almost everything module() does is done by require() anyway
@@ -228,7 +228,7 @@ local valid_libs =
228 ["table"] = true, 228 ["table"] = true,
229 ["utf8"] = true, 229 ["utf8"] = true,
230 -- 230 --
231 ["lanes.core"] = true 231 ["lanes_core"] = true
232} 232}
233-- same structure, but contains only the libraries that the current Lua flavor actually supports 233-- same structure, but contains only the libraries that the current Lua flavor actually supports
234local supported_libs 234local supported_libs
@@ -329,8 +329,8 @@ local process_gen_opt = function(...)
329 error "Libs specification '*' must be used alone" 329 error "Libs specification '*' must be used alone"
330 end 330 end
331 local found = {} 331 local found = {}
332 -- accept lib identifiers followed by an optional question mark 332 -- accept lib identifiers (alphanumeric plus '.-_'), followed by an optional question mark
333 for s, question in string_gmatch(libs, "([%a%d.]+)(%??)") do 333 for s, question in string_gmatch(libs, "([%-%w_.]+)(%??)") do
334 if not valid_libs[s] then 334 if not valid_libs[s] then
335 error("Bad library name: " .. string_format("%q", tostring(s)), 2) 335 error("Bad library name: " .. string_format("%q", tostring(s)), 2)
336 end 336 end
@@ -643,7 +643,7 @@ local configure_timers = function()
643 end 643 end
644 end 644 end
645 end -- timer_body() 645 end -- timer_body()
646 timer_lane = gen("lanes.core,table", { name = "LanesTimer", package = {}, priority = core.max_prio }, timer_body)() 646 timer_lane = gen("lanes_core,table", { name = "LanesTimer", package = {}, priority = core.max_prio }, timer_body)()
647 end -- first_time 647 end -- first_time
648 648
649 ----- 649 -----
diff --git a/src/state.cpp b/src/state.cpp
index 6fabc5f..b558d11 100644
--- a/src/state.cpp
+++ b/src/state.cpp
@@ -99,9 +99,9 @@ namespace {
99 DEBUGSPEW_CODE(DebugSpew(Universe::Get(L_)) << "opening '" << _name << "' library" << std::endl); 99 DEBUGSPEW_CODE(DebugSpew(Universe::Get(L_)) << "opening '" << _name << "' library" << std::endl);
100 STACK_CHECK_START_REL(L_, 0); 100 STACK_CHECK_START_REL(L_, 0);
101 // open the library as if through require(), and create a global as well if necessary (the library table is left on the stack) 101 // open the library as if through require(), and create a global as well if necessary (the library table is left on the stack)
102 bool const _isLanesCore{ _libfunc == luaopen_lanes_core }; // don't want to create a global for "lanes.core" 102 bool const _isLanesCore{ _libfunc == luaopen_lanes_core }; // don't want to create a global for "lanes_core"
103 luaL_requiref(L_, _name.data(), _libfunc, !_isLanesCore); // L_: {lib} 103 luaL_requiref(L_, _name.data(), _libfunc, !_isLanesCore); // L_: {lib}
104 // lanes.core doesn't declare a global, so scan it here and now 104 // lanes_core doesn't declare a global, so scan it here and now
105 if (_isLanesCore) { 105 if (_isLanesCore) {
106 tools::PopulateFuncLookupTable(L_, kIdxTop, _name); 106 tools::PopulateFuncLookupTable(L_, kIdxTop, _name);
107 } 107 }
@@ -224,7 +224,7 @@ namespace state {
224 if (_libs == "*") { 224 if (_libs == "*") {
225 DEBUGSPEW_CODE(DebugSpew(U_) << "opening ALL standard libraries" << std::endl); 225 DEBUGSPEW_CODE(DebugSpew(U_) << "opening ALL standard libraries" << std::endl);
226 luaL_openlibs(_L); 226 luaL_openlibs(_L);
227 // don't forget lanes.core for regular lane states 227 // don't forget lanes_core for regular lane states
228 Open1Lib(_L, kLanesCoreLibName); 228 Open1Lib(_L, kLanesCoreLibName);
229 _libs = ""; // done with libs 229 _libs = ""; // done with libs
230 } else { 230 } else {
@@ -248,7 +248,6 @@ namespace state {
248 248
249 // scan all libraries, open them one by one 249 // scan all libraries, open them one by one
250 auto isLibNameChar = [](char const c_) { 250 auto isLibNameChar = [](char const c_) {
251 // '.' can be part of name for "lanes.core"
252 return std::isalnum(c_) || c_ == '.' || c_ == '-' || c_ == '_'; 251 return std::isalnum(c_) || c_ == '.' || c_ == '-' || c_ == '_';
253 }; 252 };
254 while (!_libs.empty()) { 253 while (!_libs.empty()) {
diff --git a/src/universe.cpp b/src/universe.cpp
index bc309a2..3da0801 100644
--- a/src/universe.cpp
+++ b/src/universe.cpp
@@ -91,7 +91,7 @@ void Universe::callOnStateCreate(lua_State* const L_, lua_State* const from_, Lo
91 91
92 // C function: recreate a closure in the new state, bypassing the lookup scheme 92 // C function: recreate a closure in the new state, bypassing the lookup scheme
93 lua_pushcfunction(L_, std::get<lua_CFunction>(onStateCreateFunc)); // on_state_create() 93 lua_pushcfunction(L_, std::get<lua_CFunction>(onStateCreateFunc)); // on_state_create()
94 } else { // Lua function located in the config table, copied when we opened "lanes.core" 94 } else { // Lua function located in the config table, copied when we opened "lanes_core"
95 LUA_ASSERT(from_, std::holds_alternative<uintptr_t>(onStateCreateFunc)); 95 LUA_ASSERT(from_, std::holds_alternative<uintptr_t>(onStateCreateFunc));
96 if (mode_ != LookupMode::LaneBody) { 96 if (mode_ != LookupMode::LaneBody) {
97 // if attempting to call in a keeper state, do nothing because the function doesn't exist there 97 // if attempting to call in a keeper state, do nothing because the function doesn't exist there
diff --git a/tests/irayo_recursive.lua b/tests/irayo_recursive.lua
index 88f4aab..0187a15 100644
--- a/tests/irayo_recursive.lua
+++ b/tests/irayo_recursive.lua
@@ -11,7 +11,7 @@ local function recurse()
11 11
12 --local lanes = require "lanes" 12 --local lanes = require "lanes"
13 13
14 local lane = lanes.gen( "base,string,lanes.core", { globals = { ["i"]= i + 1 } }, recurse ) () 14 local lane = lanes.gen( "base,string,lanes_core", { globals = { ["i"]= i + 1 } }, recurse ) ()
15 return lane[1] 15 return lane[1]
16end 16end
17 17
diff --git a/unit_tests/embedded_tests.cpp b/unit_tests/embedded_tests.cpp
index d4794df..a63383a 100644
--- a/unit_tests/embedded_tests.cpp
+++ b/unit_tests/embedded_tests.cpp
@@ -80,7 +80,7 @@ namespace
80 class EmbeddedLuaState : public LuaState 80 class EmbeddedLuaState : public LuaState
81 { 81 {
82 private: 82 private:
83 HMODULE hCore{ LoadLibraryW(L"lanes\\core") }; 83 HMODULE hCore{ LoadLibraryW(L"lanes_core") };
84 lua_CFunction lanes_register{}; 84 lua_CFunction lanes_register{};
85 85
86 public: 86 public:
@@ -93,7 +93,7 @@ namespace
93 { 93 {
94 94
95 if (!hCore) { 95 if (!hCore) {
96 throw std::logic_error("Could not load lanes.core"); 96 throw std::logic_error("Could not load lanes_core");
97 } 97 }
98 luaopen_lanes_embedded_t const _p_luaopen_lanes_embedded{ reinterpret_cast<luaopen_lanes_embedded_t>(GetProcAddress(hCore, "luaopen_lanes_embedded")) }; 98 luaopen_lanes_embedded_t const _p_luaopen_lanes_embedded{ reinterpret_cast<luaopen_lanes_embedded_t>(GetProcAddress(hCore, "luaopen_lanes_embedded")) };
99 if (!_p_luaopen_lanes_embedded) { 99 if (!_p_luaopen_lanes_embedded) {
diff --git a/unit_tests/lane_tests.cpp b/unit_tests/lane_tests.cpp
index 196b31d..bf239ba 100644
--- a/unit_tests/lane_tests.cpp
+++ b/unit_tests/lane_tests.cpp
@@ -170,7 +170,7 @@ TEST_CASE("lanes.gen")
170 S.requireSuccess("lanes.gen('utf8?', function() end)"); 170 S.requireSuccess("lanes.gen('utf8?', function() end)");
171#endif // LUA_VERSION_NUM < 503 171#endif // LUA_VERSION_NUM < 503
172 172
173 S.requireSuccess("lanes.gen('lanes.core', function() end)"); 173 S.requireSuccess("lanes.gen('lanes_core', function() end)");
174 // "*" repeated or combined with anything else is forbidden 174 // "*" repeated or combined with anything else is forbidden
175 S.requireFailure("lanes.gen('*', '*', function() end)"); 175 S.requireFailure("lanes.gen('*', '*', function() end)");
176 S.requireFailure("lanes.gen('base', '*', function() end)"); 176 S.requireFailure("lanes.gen('base', '*', function() end)");
diff --git a/unit_tests/shared.cpp b/unit_tests/shared.cpp
index f9697a5..d139579 100644
--- a/unit_tests/shared.cpp
+++ b/unit_tests/shared.cpp
@@ -186,7 +186,7 @@ LuaState::LuaState(WithBaseLibs const withBaseLibs_, WithFixture const withFixtu
186 luaL_openlibs(L); 186 luaL_openlibs(L);
187 } else { 187 } else {
188#if LUAJIT_FLAVOR() 188#if LUAJIT_FLAVOR()
189 // lanes.core relies on the presence of jit to detect LuaJIT/PUC-Lua mismatches 189 // lanes_core relies on the presence of jit to detect LuaJIT/PUC-Lua mismatches
190 luaL_requiref(L, LUA_JITLIBNAME, luaopen_jit, 1); 190 luaL_requiref(L, LUA_JITLIBNAME, luaopen_jit, 1);
191 lua_pop(L, 1); 191 lua_pop(L, 1);
192#endif // LUAJIT_FLAVOR 192#endif // LUAJIT_FLAVOR