From 1762ae9724f0b771907bafc75e9cfa1b70804de4 Mon Sep 17 00:00:00 2001
From: Thulinma <jaron@vietors.com>
Date: Wed, 13 Mar 2013 23:28:47 +0100
Subject: [PATCH] Made src directory structure more sane - all binaries are now
 built in src but sources are divided amongst subdirs of src

---
 configure.ac                                  |  9 +--
 src/Makefile.am                               | 57 ++++++++++++-------
 src/analysers/Makefile.am                     |  9 ---
 src/{ => buffer}/buffer.cpp                   |  0
 src/{ => buffer}/buffer_stream.cpp            |  0
 src/{ => buffer}/buffer_stream.h              |  0
 src/{ => buffer}/buffer_user.cpp              |  0
 src/{ => buffer}/buffer_user.h                |  0
 src/{ => buffer}/player.cpp                   |  0
 src/{ => connectors}/conn_http.cpp            |  0
 src/{ => connectors}/conn_http_dynamic.cpp    |  0
 src/{ => connectors}/conn_http_live.cpp       |  0
 .../conn_http_progressive.cpp                 |  0
 src/{ => connectors}/conn_http_smooth.cpp     |  0
 src/{ => connectors}/conn_raw.cpp             |  0
 src/{ => connectors}/conn_rtmp.cpp            |  0
 src/{ => connectors}/conn_ts.cpp              |  0
 src/{ => connectors}/embed.js                 |  0
 src/{ => connectors}/icon.h                   |  0
 src/{ => controller}/controller.cpp           |  0
 .../controller_capabilities.cpp               |  0
 .../controller_capabilities.h                 |  0
 .../controller_connectors.cpp                 |  0
 src/{ => controller}/controller_connectors.h  |  0
 src/{ => controller}/controller_storage.cpp   |  0
 src/{ => controller}/controller_storage.h     |  0
 src/{ => controller}/controller_streams.cpp   |  0
 src/{ => controller}/controller_streams.h     |  0
 src/converters/Makefile.am                    |  7 ---
 29 files changed, 40 insertions(+), 42 deletions(-)
 delete mode 100644 src/analysers/Makefile.am
 rename src/{ => buffer}/buffer.cpp (100%)
 rename src/{ => buffer}/buffer_stream.cpp (100%)
 rename src/{ => buffer}/buffer_stream.h (100%)
 rename src/{ => buffer}/buffer_user.cpp (100%)
 rename src/{ => buffer}/buffer_user.h (100%)
 rename src/{ => buffer}/player.cpp (100%)
 rename src/{ => connectors}/conn_http.cpp (100%)
 rename src/{ => connectors}/conn_http_dynamic.cpp (100%)
 rename src/{ => connectors}/conn_http_live.cpp (100%)
 rename src/{ => connectors}/conn_http_progressive.cpp (100%)
 rename src/{ => connectors}/conn_http_smooth.cpp (100%)
 rename src/{ => connectors}/conn_raw.cpp (100%)
 rename src/{ => connectors}/conn_rtmp.cpp (100%)
 rename src/{ => connectors}/conn_ts.cpp (100%)
 rename src/{ => connectors}/embed.js (100%)
 rename src/{ => connectors}/icon.h (100%)
 rename src/{ => controller}/controller.cpp (100%)
 rename src/{ => controller}/controller_capabilities.cpp (100%)
 rename src/{ => controller}/controller_capabilities.h (100%)
 rename src/{ => controller}/controller_connectors.cpp (100%)
 rename src/{ => controller}/controller_connectors.h (100%)
 rename src/{ => controller}/controller_storage.cpp (100%)
 rename src/{ => controller}/controller_storage.h (100%)
 rename src/{ => controller}/controller_streams.cpp (100%)
 rename src/{ => controller}/controller_streams.h (100%)
 delete mode 100644 src/converters/Makefile.am

diff --git a/configure.ac b/configure.ac
index b834c38e..cc46ce62 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,9 +5,9 @@ AC_PREREQ([2.60])
 AC_INIT([MistServer],
 	m4_esyscmd([git rev-parse 2>/dev/null&&git describe --tags > VERSION;tr -d '\n' < VERSION]),
 	[contact@ddvtech.com])
-AC_CONFIG_SRCDIR([src/buffer.cpp])
+AC_CONFIG_SRCDIR([src/tinythread.cpp])
 # foreign: no need for NEWS or INSTALL files
-AM_INIT_AUTOMAKE([foreign])
+AM_INIT_AUTOMAKE([foreign subdir-objects])
 LT_INIT
 
 # Checks for programs.
@@ -45,8 +45,5 @@ AC_SUBST([global_CFLAGS], [-funsigned-char])
 AC_ARG_ENABLE([verbose], AC_HELP_STRING([--enable-verbose], [Compile with verbose messages]),
 	AC_DEFINE([DEBUG], [4]))
 
-AC_CONFIG_FILES([Makefile
-                 src/converters/Makefile
-                 src/analysers/Makefile
-                 src/Makefile])
+AC_CONFIG_FILES([Makefile src/Makefile])
 AC_OUTPUT
diff --git a/src/Makefile.am b/src/Makefile.am
index 89bedc07..7be8a473 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,40 +1,57 @@
 CLOSUREJAR=../lsp/closure-compiler.jar
 CLOSURE=java -jar $(CLOSUREJAR) --warning_level QUIET
-BUILT_SOURCES=server.html.h embed.js.h
 lspSOURCES=../lsp/jquery.js ../lsp/placeholder.js ../lsp/md5.js ../lsp/main.js ../lsp/functions.js ../lsp/tablesort.js
 lspDATA=../lsp/header.html ../lsp/style.css ../lsp/footer.html
 
 # Do not clean below files, build machines do not have closure installed
-EXTRA_DIST=server.html server.html.h embed.js embed.js.h $(lspSOURCES) $(lspDATA)
+EXTRA_DIST=controller/server.html controller/server.html.h connectors/embed.js connectors/embed.js.h $(lspSOURCES) $(lspDATA)
 
 RELEASE ?= "Generic_`getconf LONG_BIT`"
 
 AM_CPPFLAGS = $(global_CFLAGS) $(MIST_CFLAGS) -DRELEASE=\"$(RELEASE)\"
 LDADD = $(MIST_LIBS)
-SUBDIRS=converters analysers
-bin_PROGRAMS=MistBuffer MistController MistConnRAW MistConnRTMP MistConnHTTP MistConnHTTPProgressive MistConnHTTPDynamic MistConnHTTPSmooth MistConnHTTPLive MistConnTS MistPlayer
-MistBuffer_SOURCES=buffer.cpp buffer_user.h buffer_user.cpp buffer_stream.h buffer_stream.cpp tinythread.cpp tinythread.h ../VERSION
+bin_PROGRAMS=MistBuffer MistController MistConnRAW MistConnRTMP MistConnHTTP MistConnHTTPProgressive MistConnHTTPDynamic MistConnHTTPSmooth MistConnHTTPLive MistConnTS MistPlayer MistDTSC2FLV MistFLV2DTSC MistDTSCFix MistDTSC2TS MistAnalyserRTMP MistAnalyserFLV MistAnalyserDTSC MistAnalyserAMF MistAnalyserMP4
+
+#buffer folder (MistBuffer, MistPlayer)
+MistBuffer_SOURCES=buffer/buffer.cpp buffer/buffer_user.h buffer/buffer_user.cpp buffer/buffer_stream.h buffer/buffer_stream.cpp tinythread.cpp tinythread.h ../VERSION
 MistBuffer_LDADD=$(MIST_LIBS) -lpthread
-MistController_SOURCES=controller.cpp controller_connectors.h controller_connectors.cpp controller_storage.h controller_storage.cpp controller_streams.h controller_streams.cpp controller_capabilities.h controller_capabilities.cpp ../VERSION ./server.html.h
-MistConnRAW_SOURCES=conn_raw.cpp ../VERSION
-MistConnRTMP_SOURCES=conn_rtmp.cpp ../VERSION
-MistConnHTTP_SOURCES=conn_http.cpp tinythread.cpp tinythread.h ../VERSION ./embed.js.h
-MistConnHTTP_LDADD=$(MIST_LIBS) -lpthread
-MistConnHTTPProgressive_SOURCES=conn_http_progressive.cpp ../VERSION
-MistConnHTTPDynamic_SOURCES=conn_http_dynamic.cpp ../VERSION
-MistConnHTTPSmooth_SOURCES=conn_http_smooth.cpp ../VERSION
-MistConnHTTPLive_SOURCES=conn_http_live.cpp ../VERSION
-MistConnTS_SOURCES=conn_ts.cpp ../VERSION
-MistPlayer_SOURCES=player.cpp
+MistPlayer_SOURCES=buffer/player.cpp
 MistPlayer_LDADD=$(MIST_LIBS)
 
+#controller folder (MistController)
+MistController_SOURCES=controller/controller.cpp controller/controller_connectors.h controller/controller_connectors.cpp controller/controller_storage.h controller/controller_storage.cpp controller/controller_streams.h controller/controller_streams.cpp controller/controller_capabilities.h controller/controller_capabilities.cpp ../VERSION controller/server.html.h
 
-embed.js.h: $(srcdir)/embed.js
+#connectors folder (MistConn*)
+MistConnRAW_SOURCES=connectors/conn_raw.cpp ../VERSION
+MistConnRTMP_SOURCES=connectors/conn_rtmp.cpp ../VERSION
+MistConnHTTP_SOURCES=connectors/conn_http.cpp tinythread.cpp tinythread.h ../VERSION connectors/embed.js.h connectors/icon.h
+MistConnHTTP_LDADD=$(MIST_LIBS) -lpthread
+MistConnHTTPProgressive_SOURCES=connectors/conn_http_progressive.cpp ../VERSION
+MistConnHTTPDynamic_SOURCES=connectors/conn_http_dynamic.cpp ../VERSION
+MistConnHTTPSmooth_SOURCES=connectors/conn_http_smooth.cpp ../VERSION
+MistConnHTTPLive_SOURCES=connectors/conn_http_live.cpp ../VERSION
+MistConnTS_SOURCES=connectors/conn_ts.cpp ../VERSION
+
+#converters directory (Mist*2*)
+MistDTSC2FLV_SOURCES=converters/dtsc2flv.cpp
+MistFLV2DTSC_SOURCES=converters/flv2dtsc.cpp
+MistDTSCFix_SOURCES=converters/dtscfix.cpp
+MistDTSC2TS_SOURCES=converters/dtsc2ts.cpp
+
+#analysers directory (MistAnalyser*)
+MistAnalyserRTMP_SOURCES=analysers/rtmp_analyser.cpp
+MistAnalyserFLV_SOURCES=analysers/flv_analyser.cpp
+MistAnalyserDTSC_SOURCES=analysers/dtsc_analyser.cpp
+MistAnalyserAMF_SOURCES=analysers/amf_analyser.cpp
+MistAnalyserMP4_SOURCES=analysers/mp4_analyser.cpp
+
+
+connectors/embed.js.h: $(srcdir)/connectors/embed.js
 	$(CLOSURE) $(srcdir)/embed.js > embed.min.js
 	xxd -i embed.min.js | sed s/_min_/_/g > embed.js.h
 	rm embed.min.js
 
-server.html: $(lspDATA) $(lspSOURCES)
+controller/server.html: $(lspDATA) $(lspSOURCES)
 	$(CLOSURE) $(lspSOURCES) > compressed.js
 	cat ../lsp/header.html > $@
 	echo "<script>" >> $@
@@ -45,5 +62,5 @@ server.html: $(lspDATA) $(lspSOURCES)
 	echo "</style>" >> $@
 	cat ../lsp/footer.html >> $@
 
-server.html.h: server.html
-	xxd -i server.html server.html.h
+controller/server.html.h: $(srcdir)/controller/server.html
+	xxd -i $(srcdir)/controller/server.html $(srcdir)/controller/server.html.h
diff --git a/src/analysers/Makefile.am b/src/analysers/Makefile.am
deleted file mode 100644
index fb5f0619..00000000
--- a/src/analysers/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-AM_CPPFLAGS = $(global_CFLAGS) $(MIST_CFLAGS)
-LDADD = $(MIST_LIBS)
-bin_PROGRAMS=MistAnalyserRTMP MistAnalyserFLV MistAnalyserDTSC MistAnalyserAMF MistAnalyserMP4
-MistAnalyserRTMP_SOURCES=rtmp_analyser.cpp
-MistAnalyserFLV_SOURCES=flv_analyser.cpp
-MistAnalyserDTSC_SOURCES=dtsc_analyser.cpp
-MistAnalyserAMF_SOURCES=amf_analyser.cpp
-MistAnalyserMP4_SOURCES=mp4_analyser.cpp
-
diff --git a/src/buffer.cpp b/src/buffer/buffer.cpp
similarity index 100%
rename from src/buffer.cpp
rename to src/buffer/buffer.cpp
diff --git a/src/buffer_stream.cpp b/src/buffer/buffer_stream.cpp
similarity index 100%
rename from src/buffer_stream.cpp
rename to src/buffer/buffer_stream.cpp
diff --git a/src/buffer_stream.h b/src/buffer/buffer_stream.h
similarity index 100%
rename from src/buffer_stream.h
rename to src/buffer/buffer_stream.h
diff --git a/src/buffer_user.cpp b/src/buffer/buffer_user.cpp
similarity index 100%
rename from src/buffer_user.cpp
rename to src/buffer/buffer_user.cpp
diff --git a/src/buffer_user.h b/src/buffer/buffer_user.h
similarity index 100%
rename from src/buffer_user.h
rename to src/buffer/buffer_user.h
diff --git a/src/player.cpp b/src/buffer/player.cpp
similarity index 100%
rename from src/player.cpp
rename to src/buffer/player.cpp
diff --git a/src/conn_http.cpp b/src/connectors/conn_http.cpp
similarity index 100%
rename from src/conn_http.cpp
rename to src/connectors/conn_http.cpp
diff --git a/src/conn_http_dynamic.cpp b/src/connectors/conn_http_dynamic.cpp
similarity index 100%
rename from src/conn_http_dynamic.cpp
rename to src/connectors/conn_http_dynamic.cpp
diff --git a/src/conn_http_live.cpp b/src/connectors/conn_http_live.cpp
similarity index 100%
rename from src/conn_http_live.cpp
rename to src/connectors/conn_http_live.cpp
diff --git a/src/conn_http_progressive.cpp b/src/connectors/conn_http_progressive.cpp
similarity index 100%
rename from src/conn_http_progressive.cpp
rename to src/connectors/conn_http_progressive.cpp
diff --git a/src/conn_http_smooth.cpp b/src/connectors/conn_http_smooth.cpp
similarity index 100%
rename from src/conn_http_smooth.cpp
rename to src/connectors/conn_http_smooth.cpp
diff --git a/src/conn_raw.cpp b/src/connectors/conn_raw.cpp
similarity index 100%
rename from src/conn_raw.cpp
rename to src/connectors/conn_raw.cpp
diff --git a/src/conn_rtmp.cpp b/src/connectors/conn_rtmp.cpp
similarity index 100%
rename from src/conn_rtmp.cpp
rename to src/connectors/conn_rtmp.cpp
diff --git a/src/conn_ts.cpp b/src/connectors/conn_ts.cpp
similarity index 100%
rename from src/conn_ts.cpp
rename to src/connectors/conn_ts.cpp
diff --git a/src/embed.js b/src/connectors/embed.js
similarity index 100%
rename from src/embed.js
rename to src/connectors/embed.js
diff --git a/src/icon.h b/src/connectors/icon.h
similarity index 100%
rename from src/icon.h
rename to src/connectors/icon.h
diff --git a/src/controller.cpp b/src/controller/controller.cpp
similarity index 100%
rename from src/controller.cpp
rename to src/controller/controller.cpp
diff --git a/src/controller_capabilities.cpp b/src/controller/controller_capabilities.cpp
similarity index 100%
rename from src/controller_capabilities.cpp
rename to src/controller/controller_capabilities.cpp
diff --git a/src/controller_capabilities.h b/src/controller/controller_capabilities.h
similarity index 100%
rename from src/controller_capabilities.h
rename to src/controller/controller_capabilities.h
diff --git a/src/controller_connectors.cpp b/src/controller/controller_connectors.cpp
similarity index 100%
rename from src/controller_connectors.cpp
rename to src/controller/controller_connectors.cpp
diff --git a/src/controller_connectors.h b/src/controller/controller_connectors.h
similarity index 100%
rename from src/controller_connectors.h
rename to src/controller/controller_connectors.h
diff --git a/src/controller_storage.cpp b/src/controller/controller_storage.cpp
similarity index 100%
rename from src/controller_storage.cpp
rename to src/controller/controller_storage.cpp
diff --git a/src/controller_storage.h b/src/controller/controller_storage.h
similarity index 100%
rename from src/controller_storage.h
rename to src/controller/controller_storage.h
diff --git a/src/controller_streams.cpp b/src/controller/controller_streams.cpp
similarity index 100%
rename from src/controller_streams.cpp
rename to src/controller/controller_streams.cpp
diff --git a/src/controller_streams.h b/src/controller/controller_streams.h
similarity index 100%
rename from src/controller_streams.h
rename to src/controller/controller_streams.h
diff --git a/src/converters/Makefile.am b/src/converters/Makefile.am
deleted file mode 100644
index 63f5adf0..00000000
--- a/src/converters/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-AM_CPPFLAGS = $(global_CFLAGS) $(MIST_CFLAGS)
-LDADD = $(MIST_LIBS)
-bin_PROGRAMS=MistDTSC2FLV MistFLV2DTSC MistDTSCFix MistDTSC2TS
-MistDTSC2FLV_SOURCES=dtsc2flv.cpp
-MistFLV2DTSC_SOURCES=flv2dtsc.cpp
-MistDTSCFix_SOURCES=dtscfix.cpp
-MistDTSC2TS_SOURCES=dtsc2ts.cpp