poco/Foundation/Makefile
Aleksandar Fabijanic e5752a5c6d
File lock (#4734)
* add RWLock implementation for file [posix]

* add implementation FileStreamRWLock for windows
replace FileStreamRWLock to the Process package

* add files FileStreamRWLock* into makefile and vcproj

* remove unnecessary file from makefile

* use absolute path to the TesApp with ProcessRunner

* fix vc*.proj

* add new test files into vc.proj.filters

* fix comments

* fix spelling fo PR #4723
add atomic_bool _locked and check if FileStreamRWLock is locked on
destruction for force unlock

* add atomic header

* File lock (#4740)

* throw error on any errno not only on EDEADLK

* fix function naming

* fix windows build

* fix windows build

---------

Co-authored-by: Alexander B <ale.bychuk@gmail.com>
Co-authored-by: bas524 <bas524@ya.ru>
2024-10-16 23:58:00 +02:00

79 lines
3.5 KiB
Makefile

#
# Makefile
#
# Makefile for Poco Foundation
#
include $(POCO_BASE)/build/rules/global
ifdef POCO_ENABLE_TRACE
INCLUDE += -I $(POCO_BASE)/Trace/include/Poco/Trace
endif
objects = ArchiveStrategy Ascii ASCIIEncoding AsyncChannel AsyncNotificationCenter ActiveThreadPool\
Base32Decoder Base32Encoder Base64Decoder Base64Encoder \
BinaryReader BinaryWriter Bugcheck ByteOrder Channel Checksum Clock Configurable ConsoleChannel \
Condition CountingStream DateTime LocalDateTime DateTimeFormat DateTimeFormatter DateTimeParser \
Debugger DeflatingStream DigestEngine DigestStream DirectoryIterator DirectoryWatcher \
Environment Event EventChannel Error EventArgs ErrorHandler Exception FIFOBufferStream FPEnvironment File \
FileChannel Formatter FormattingChannel Glob HexBinaryDecoder LineEndingConverter \
HexBinaryEncoder InflatingStream JSONString Latin1Encoding Latin2Encoding Latin9Encoding LogFile \
Logger LoggingFactory LoggingRegistry LogStream NamedEvent NamedMutex NullChannel \
MemoryPool MD4Engine MD5Engine Manifest Message Mutex \
NestedDiagnosticContext Notification NotificationCenter \
NotificationQueue PriorityNotificationQueue TimedNotificationQueue \
NullStream NumberFormatter NumberParser NumericString AbstractObserver \
Path PatternFormatter JSONFormatter PIDFile Process ProcessRunner PurgeStrategy RWLock Random RandomStream \
DirectoryIteratorStrategy RegularExpression RefCountedObject Runnable RotateStrategy \
SHA1Engine SHA2Engine Semaphore SharedLibrary SimpleFileChannel \
SignalHandler SplitterChannel SortedDirectoryIterator Stopwatch StreamChannel \
StreamConverter StreamCopier StreamTokenizer String StringTokenizer SynchronizedObject \
Task TaskManager TaskNotification TeeStream Hash HashStatistic \
TemporaryFile TextConverter TextEncoding TextIterator TextBufferIterator Thread ThreadLocal \
ThreadPool ThreadTarget ActiveDispatcher Timer Timespan Timestamp Timezone Token URI \
FileStreamFactory URIStreamFactory URIStreamOpener UTF32Encoding UTF16Encoding UTF8Encoding UTF8String \
Unicode UnicodeConverter Windows1250Encoding Windows1251Encoding Windows1252Encoding \
UUID UUIDGenerator Void Var VarHolder VarIterator VarVisitor Format Pipe PipeImpl PipeStream SharedMemory \
MemoryStream FileStream AtomicCounter DataURIStream DataURIStreamFactory FileStreamRWLock
zlib_objects = adler32 compress crc32 deflate \
infback inffast inflate inftrees trees zutil
pcre_objects = pcre2_auto_possess pcre2_chartables pcre2_chkdint pcre2_compile pcre2_config \
pcre2_context pcre2_convert pcre2_dfa_match pcre2_error pcre2_extuni \
pcre2_find_bracket pcre2_jit_compile pcre2_maketables pcre2_match \
pcre2_match_data pcre2_newline pcre2_ord2utf pcre2_pattern_info \
pcre2_script_run pcre2_serialize pcre2_string_utils pcre2_study pcre2_substitute \
pcre2_substring pcre2_tables pcre2_ucd pcre2_valid_utf pcre2_xclass
pcre_utf8_objects = pcre2_ucd pcre2_tables
utf8proc_objects = utf8proc
ifdef POCO_UNBUNDLED
SYSLIBS += -lpcre2-8 -lutf8proc -lz
objects += $(pcre_utf8_objects)
else
COMMONFLAGS += -DUTF8PROC_STATIC
objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects) $(utf8proc_objects)
endif
ifeq ($(findstring MinGW, $(POCO_CONFIG)), MinGW)
objects += EventLogChannel WindowsConsoleChannel
else
objects += SyslogChannel
endif
target = PocoFoundation
target_version = $(LIBVERSION)
target_libs =
ifdef POCO_ENABLE_TRACE
target_libs += PocoTrace
endif
ifeq ($(findstring MinGW, $(POCO_CONFIG)), MinGW)
$(shell cd src; $(WINDMC) pocomsg.mc)
endif
include $(POCO_BASE)/build/rules/lib