This is a very draft draft for what happened in session 6 written while the session is running.
Review of what we are doing:
now we have made libIPC which is a shared library. meant to handle InterProcess Communications.
the library should be pluggable, currently we should implement FileIO which can be a shared library too. later we should implement SharedMem , Sockets, .. etc
we will use function pointers to handle multiple instances of the same function.
there was a rough review about the requirements of the design that we agreed on the last session. more details is to be added here
MakeFiles
normally when we install a new package, the normal way is to ./configure, make, make install when you ./configure, you are actually building the MakeFile... this is done by certain instructions in a file targeted for automake to create the make file. the value of this is portability, pass a parameter to the builder, ... etc.
talk about what does libtool , autoconf, automake do here
when we start making automake you start by making configure.ac
SUBDIRS: <== this is to show where the code is, if it's not in the root of the project
bin_PROGRAMS=hello
hello_SOURCES=main.c <= this is to override the default which is hello.c
- showcase of configure.ac implementation in sysfsutils-2.1.0
when you want to know what configure flags just type ./configure --help and it will give standard configure flags + optional flags (package specific).
to know all vriables/directives that you can put in configure.ac file just type info automake at the bash prompt.
overview of datastructures:
- example of sorting a one dimentional array.
- tree structure (AVL trees, Red-Black Trees): we should choose one to talk about the coming session.
- hash tables.