mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	* fix mingw-like builds * formatting * make LOG_COMPAT easier to override and extend * simplify win detection * fix for #2940
This commit is contained in:
		
							
								
								
									
										10
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								Makefile
									
									
									
									
									
								
							| @@ -79,6 +79,11 @@ ifdef LLAMA_SERVER_VERBOSE | |||||||
| 	CXXFLAGS += -DSERVER_VERBOSE=$(LLAMA_SERVER_VERBOSE) | 	CXXFLAGS += -DSERVER_VERBOSE=$(LLAMA_SERVER_VERBOSE) | ||||||
| endif | endif | ||||||
|  |  | ||||||
|  | ifdef LLAMA_DISABLE_LOGS | ||||||
|  | 	CFLAGS   += -DLOG_DISABLE_LOGS | ||||||
|  | 	CXXFLAGS += -DLOG_DISABLE_LOGS | ||||||
|  | endif # LLAMA_DISABLE_LOGS | ||||||
|  |  | ||||||
| # warnings | # warnings | ||||||
| CFLAGS   += -Wall -Wextra -Wpedantic -Wcast-qual -Wdouble-promotion -Wshadow -Wstrict-prototypes -Wpointer-arith \ | CFLAGS   += -Wall -Wextra -Wpedantic -Wcast-qual -Wdouble-promotion -Wshadow -Wstrict-prototypes -Wpointer-arith \ | ||||||
| 			-Wmissing-prototypes -Werror=implicit-int | 			-Wmissing-prototypes -Werror=implicit-int | ||||||
| @@ -343,11 +348,6 @@ k_quants.o: k_quants.c k_quants.h | |||||||
| 	$(CC) $(CFLAGS) -c $< -o $@ | 	$(CC) $(CFLAGS) -c $< -o $@ | ||||||
| endif # LLAMA_NO_K_QUANTS | endif # LLAMA_NO_K_QUANTS | ||||||
|  |  | ||||||
| ifdef LLAMA_DISABLE_LOGS |  | ||||||
| 	CFLAGS   += -DLOG_DISABLE_LOGS |  | ||||||
| 	CXXFLAGS += -DLOG_DISABLE_LOGS |  | ||||||
| endif # LLAMA_DISABLE_LOGS |  | ||||||
|  |  | ||||||
| # | # | ||||||
| # Print build information | # Print build information | ||||||
| # | # | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								common/log.h
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								common/log.h
									
									
									
									
									
								
							| @@ -154,7 +154,7 @@ inline std::string log_filename_generator_impl(const std::string & log_file_base | |||||||
| //  #include "log.h" | //  #include "log.h" | ||||||
| // | // | ||||||
| #ifndef LOG_NO_TIMESTAMPS | #ifndef LOG_NO_TIMESTAMPS | ||||||
|     #ifndef _WIN32 |     #ifndef _MSC_VER | ||||||
|         #define LOG_TIMESTAMP_FMT "[%" PRIu64 "] " |         #define LOG_TIMESTAMP_FMT "[%" PRIu64 "] " | ||||||
|         #define LOG_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count() |         #define LOG_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count() | ||||||
|     #else |     #else | ||||||
| @@ -167,7 +167,7 @@ inline std::string log_filename_generator_impl(const std::string & log_file_base | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef LOG_TEE_TIMESTAMPS | #ifdef LOG_TEE_TIMESTAMPS | ||||||
|     #ifndef _WIN32 |     #ifndef _MSC_VER | ||||||
|         #define LOG_TEE_TIMESTAMP_FMT "[%" PRIu64 "] " |         #define LOG_TEE_TIMESTAMP_FMT "[%" PRIu64 "] " | ||||||
|         #define LOG_TEE_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count() |         #define LOG_TEE_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count() | ||||||
|     #else |     #else | ||||||
| @@ -187,7 +187,7 @@ inline std::string log_filename_generator_impl(const std::string & log_file_base | |||||||
| //  #include "log.h" | //  #include "log.h" | ||||||
| // | // | ||||||
| #ifndef LOG_NO_FILE_LINE_FUNCTION | #ifndef LOG_NO_FILE_LINE_FUNCTION | ||||||
|     #ifndef _WIN32 |     #ifndef _MSC_VER | ||||||
|         #define LOG_FLF_FMT "[%24s:%5d][%24s] " |         #define LOG_FLF_FMT "[%24s:%5d][%24s] " | ||||||
|         #define LOG_FLF_VAL , __FILE__, __LINE__, __FUNCTION__ |         #define LOG_FLF_VAL , __FILE__, __LINE__, __FUNCTION__ | ||||||
|     #else |     #else | ||||||
| @@ -200,7 +200,7 @@ inline std::string log_filename_generator_impl(const std::string & log_file_base | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef LOG_TEE_FILE_LINE_FUNCTION | #ifdef LOG_TEE_FILE_LINE_FUNCTION | ||||||
|     #ifndef _WIN32 |     #ifndef _MSC_VER | ||||||
|         #define LOG_TEE_FLF_FMT "[%24s:%5d][%24s] " |         #define LOG_TEE_FLF_FMT "[%24s:%5d][%24s] " | ||||||
|         #define LOG_TEE_FLF_VAL , __FILE__, __LINE__, __FUNCTION__ |         #define LOG_TEE_FLF_VAL , __FILE__, __LINE__, __FUNCTION__ | ||||||
|     #else |     #else | ||||||
| @@ -224,7 +224,7 @@ enum LogTriState | |||||||
| // INTERNAL, DO NOT USE | // INTERNAL, DO NOT USE | ||||||
| //  USE LOG() INSTEAD | //  USE LOG() INSTEAD | ||||||
| // | // | ||||||
| #ifndef _WIN32 | #ifndef _MSC_VER | ||||||
|     #define LOG_IMPL(str, ...)                                                                                          \ |     #define LOG_IMPL(str, ...)                                                                                          \ | ||||||
|     {                                                                                                               \ |     {                                                                                                               \ | ||||||
|         if (LOG_TARGET != nullptr)                                                                                  \ |         if (LOG_TARGET != nullptr)                                                                                  \ | ||||||
| @@ -247,7 +247,7 @@ enum LogTriState | |||||||
| // INTERNAL, DO NOT USE | // INTERNAL, DO NOT USE | ||||||
| //  USE LOG_TEE() INSTEAD | //  USE LOG_TEE() INSTEAD | ||||||
| // | // | ||||||
| #ifndef _WIN32 | #ifndef _MSC_VER | ||||||
|     #define LOG_TEE_IMPL(str, ...)                                                                                                          \ |     #define LOG_TEE_IMPL(str, ...)                                                                                                          \ | ||||||
|     {                                                                                                                                   \ |     {                                                                                                                                   \ | ||||||
|         if (LOG_TARGET != nullptr)                                                                                                      \ |         if (LOG_TARGET != nullptr)                                                                                                      \ | ||||||
| @@ -284,7 +284,7 @@ enum LogTriState | |||||||
| // Main LOG macro. | // Main LOG macro. | ||||||
| //  behaves like printf, and supports arguments the exact same way. | //  behaves like printf, and supports arguments the exact same way. | ||||||
| // | // | ||||||
| #ifndef _WIN32 | #ifndef _MSC_VER | ||||||
|     #define LOG(...) LOG_IMPL(__VA_ARGS__, "") |     #define LOG(...) LOG_IMPL(__VA_ARGS__, "") | ||||||
| #else | #else | ||||||
|     #define LOG(str, ...) LOG_IMPL("%s" str, "", __VA_ARGS__, "") |     #define LOG(str, ...) LOG_IMPL("%s" str, "", __VA_ARGS__, "") | ||||||
| @@ -298,14 +298,14 @@ enum LogTriState | |||||||
| // Secondary target can be changed just like LOG_TARGET | // Secondary target can be changed just like LOG_TARGET | ||||||
| //  by defining LOG_TEE_TARGET | //  by defining LOG_TEE_TARGET | ||||||
| // | // | ||||||
| #ifndef _WIN32 | #ifndef _MSC_VER | ||||||
|     #define LOG_TEE(...) LOG_TEE_IMPL(__VA_ARGS__, "") |     #define LOG_TEE(...) LOG_TEE_IMPL(__VA_ARGS__, "") | ||||||
| #else | #else | ||||||
|     #define LOG_TEE(str, ...) LOG_TEE_IMPL("%s" str, "", __VA_ARGS__, "") |     #define LOG_TEE(str, ...) LOG_TEE_IMPL("%s" str, "", __VA_ARGS__, "") | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| // LOG macro variants with auto endline. | // LOG macro variants with auto endline. | ||||||
| #ifndef _WIN32 | #ifndef _MSC_VER | ||||||
|     #define LOGLN(...) LOG_IMPL(__VA_ARGS__, "\n") |     #define LOGLN(...) LOG_IMPL(__VA_ARGS__, "\n") | ||||||
|     #define LOG_TEELN(...) LOG_TEE_IMPL(__VA_ARGS__, "\n") |     #define LOG_TEELN(...) LOG_TEE_IMPL(__VA_ARGS__, "\n") | ||||||
| #else | #else | ||||||
| @@ -461,7 +461,7 @@ inline void log_test() | |||||||
|     LOG("13 Hello World this time in yet new file?\n") |     LOG("13 Hello World this time in yet new file?\n") | ||||||
|     log_set_target(log_filename_generator("llama_autonamed", "log")); |     log_set_target(log_filename_generator("llama_autonamed", "log")); | ||||||
|     LOG("14 Hello World in log with generated filename!\n") |     LOG("14 Hello World in log with generated filename!\n") | ||||||
| #ifdef _WIN32 | #ifdef _MSC_VER | ||||||
|     LOG_TEE("15 Hello msvc TEE without arguments\n") |     LOG_TEE("15 Hello msvc TEE without arguments\n") | ||||||
|     LOG_TEE("16 Hello msvc TEE with (%d)(%s) arguments\n", 1, "test") |     LOG_TEE("16 Hello msvc TEE with (%d)(%s) arguments\n", 1, "test") | ||||||
|     LOG_TEELN("17 Hello msvc TEELN without arguments\n") |     LOG_TEELN("17 Hello msvc TEELN without arguments\n") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 staviq
					staviq