Brian Fiete %!s(int64=5) %!d(string=hai) anos
pai
achega
c7f76f879a

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
BeefBuild/BeefProj.toml


+ 8 - 1
BeefRT/CMakeLists.txt

@@ -248,12 +248,19 @@ elseif (${ANDROID})
   file(GLOB SRC_FILES_OS
         ../BeefySysLib/platform/android/BFPlatform.cpp
         ../BeefySysLib/platform/android/AndroidCommon.cpp
-
     )
 else()
     file(GLOB SRC_FILES_OS
         ../BeefySysLib/platform/linux/BFPlatform.cpp
         ../BeefySysLib/platform/linux/LinuxCommon.cpp
+        ../BeefySysLib/third_party/libffi/x86_64-unknown-linux-gnu/src/prep_cif.o
+        ../BeefySysLib/third_party/libffi/x86_64-unknown-linux-gnu/src/types.o
+        ../BeefySysLib/third_party/libffi/x86_64-unknown-linux-gnu/src/raw_api.o
+        ../BeefySysLib/third_party/libffi/x86_64-unknown-linux-gnu/src/java_raw_api.o
+        ../BeefySysLib/third_party/libffi/x86_64-unknown-linux-gnu/src/closures.o
+        ../BeefySysLib/third_party/libffi/x86_64-unknown-linux-gnu/src/x86/ffi64.o
+        ../BeefySysLib/third_party/libffi/x86_64-unknown-linux-gnu/src/x86/unix64.o
+        ../BeefySysLib/third_party/libffi/x86_64-unknown-linux-gnu/src/x86/ffiw64.o
     )
 endif()
 

+ 2 - 0
BeefySysLib/platform/linux/LinuxCommon.cpp

@@ -2,5 +2,7 @@
 #define BFP_HAS_EXECINFO
 #define BFP_HAS_PTHREAD_TIMEDJOIN_NP
 #define BFP_HAS_PTHREAD_GETATTR_NP
+#define BFP_HAS_DLINFO
 
 #include "../posix/PosixCommon.cpp"
+

+ 2 - 11
IDE/src/BuildContext.bf

@@ -484,17 +484,8 @@ namespace IDE
 		}
 
 		public static void GetRtLibNames(Workspace.PlatformType platformType, Workspace.Options workspaceOptions, Project.Options options, bool dynName, String outRt, String outDbg)
-		{
-			if (platformType == .Linux)
-			{
-				if (options.mBuildOptions.mBeefLibType == .DynamicDebug)
-					outRt.Append("libBeefRT_d.so");
-				else
-					outRt.Append("libBeefRT.so");
-				return;
-			}
-
-			if ((platformType == .macOS) || (platformType == .iOS))
+		{			
+			if ((platformType == .Linux) || (platformType == .macOS) || (platformType == .iOS))
 			{
 				if (options.mBuildOptions.mBeefLibType == .DynamicDebug)
 					outRt.Append("libBeefRT_d.a");

+ 1 - 1
IDE/src/IDEApp.bf

@@ -8522,7 +8522,7 @@ namespace IDE
 										newString.AppendF("./{} -Wl,-rpath -Wl,@executable_path", rtName);
 									case .iOS:
 									case .Linux:
-										newString.AppendF("./{} -Wl,-rpath -Wl,$ORIGIN", rtName);
+										newString.AppendF("./{} -lpthread -ldl -Wl,-rpath -Wl,$ORIGIN", rtName);
 									default:
 									}	
 

+ 2 - 2
bin/build.sh

@@ -45,7 +45,7 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
 	LINKOPTS="-Wl,-rpath -Wl,@executable_path"	
 else
 	LIBEXT=so
-	LINKOPTS="-ltinfo -Wl,-rpath -Wl,\$ORIGIN"
+	LINKOPTS="-ldl -lpthread -ltinfo -Wl,-rpath -Wl,\$ORIGIN"
 fi
 
 if [ ! -L libBeefRT_d.a ]; then	
@@ -54,7 +54,7 @@ if [ ! -L libBeefRT_d.a ]; then
 	ln -s ../../jbuild_d/Debug/bin/libIDEHelper_d.$LIBEXT libIDEHelper_d.$LIBEXT
 
 	ln -s ../../jbuild/Release/bin/libBeefRT.a libBeefRT.a
-	ln -s  ../../jbuild/Release/bin/libBeefySysLib.$LIBEXT libBeefySysLib.$LIBEXT
+	ln -s ../../jbuild/Release/bin/libBeefySysLib.$LIBEXT libBeefySysLib.$LIBEXT
 	ln -s ../../jbuild/Release/bin/libIDEHelper.$LIBEXT libIDEHelper.$LIBEXT
 fi
 

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio