Commit Graph

47 Commits

Author SHA1 Message Date
tchernobog d128ee8608 - Fix portability issues with config.h header. Now it is
included by the compiler (via a flag) and the visibility
macros have been moved to a separate header. You'll
probably need to cleanup your source dir and re-run autogen.sh
before compiling sgpem again.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1191 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 13:34:43 +00:00
elvez 503634d7c5 Again, portability fixes
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1159 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-14 20:42:54 +00:00
tchernobog d3c7b46853 - Give code a round of indentation. Thank astyle, not me.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@837 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:38:45 +00:00
tchernobog db34232e72 - Textual simulation is now brought up only if requested
by the -N switch given at the cmdline


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@754 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-12 08:31:25 +00:00
elvez 6150af3d30 - Fixed some bugs in command processing, added the configure-cpu-policy command
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@748 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-10 22:28:51 +00:00
tchernobog 483cf2815d - Pardon my italian, but "'affanculo" is the only thing that
crosses my mind seeing what was the correct fix.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@738 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 11:26:23 +00:00
tchernobog 933d814ddc - Trivialities: change a couple of comments. The SIGSEGV isn't related
to option parsing.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@737 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 10:51:37 +00:00
tchernobog 8b1da4e1c7 - Fix plugin.hh visibility attributes
- Improve option parsing
- Strange SIGSEGV still happening (a different one, though)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@736 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 09:49:35 +00:00
tchernobog 41d20ba6eb - Move to libglademm to handle GUI creation. This is experimental,
but should greatly help in reducing development times


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@727 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 14:37:11 +00:00
tchernobog b65adbe1cc - Empty the main
- Delegate plugin loading to PluginManager so that it can
be tested


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@709 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 11:09:45 +00:00
tchernobog 759b90b017 - Substitute the old SchedulableQueue with the new ReadyQueue
- Add interfaces for Process and Thread into the "sgpem.i" SWIG
interface file, change DynamicSchedulable into Schedulable
- Add dynamic_cast for the return value of ReadyQueue::get_item_at()
into the pyloader "sgpem.i" SWIG interface, so that a Schedulable
can be either recognized as a Thread or a Process
- TODO: wrap STL exceptions in SWIG interface
- Please note that code won't compile until the new History and
Scheduler::step_forward() will be in place. This is a known issue.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@689 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 13:51:03 +00:00
tchernobog 6b27a8461b - Pretty-indenting code
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@674 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-29 08:44:30 +00:00
tchernobog 66d46db357 - Separate template definition from template declaration
- Explicitly instantiate Singleton templates to be exported from libbackend.so
- Install only header files that are backend interfaces to be exposed to the user
- Don't use full path for including templates in header files
- Instantiate a couple of smart_ptr templates to have their symbols exported outside the DSO. This happens in history.cc. FIXME: the interface for History will definitely need to be reworked, and the two smart_ptr explicit instantiations removed.
- Change SWIG exported interface to make use of Schedulable instead of (Dynamic|Static)Schedulable
- Fix provided policies to make use of the new interface
- TODO: limit the use of smart_ptrs.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@653 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-23 13:06:39 +00:00
tchernobog 383889a203 - Add unified Singleton support
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@643 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-21 09:09:50 +00:00
elvez a1662de194 - Added the Schedulable interface
- Renamed SchedulableStatus to DynamicSchedulable
- Implemented almost all methods of DynamicSchedulable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@630 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 16:37:57 +00:00
elvez dd6085a0a6 - Renamed Process to StaticProcess
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@627 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 14:20:05 +00:00
elvez 1f7972c308 - Renamed Schedulable to StaticSchedulable
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@626 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 13:55:47 +00:00
elvez 1706119e4d - Renamed GlobalSettings to GlobalPreferences
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@621 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-12 14:04:06 +00:00
elvez 8062dd95da - Completed renaming of class SchedulableList to SchedulableQueue
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@603 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-03 15:19:13 +00:00
elvez 4508ed017b -changing SchedulableList to SchedulableQueue: intermediate commit,
so SVN can let me use "mv"

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@602 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-03 14:40:19 +00:00
tchernobog 92e6f3be2b - Add copyright notices to existing builtin python policies
- Implement system to dinamically pass plugins and policies search paths to
the sgpemv2 binary and tests (class GlobalSettings)
- Drastically reduce usage of hardcoded paths in code except as 
default overridable values


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@514 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-09 10:49:41 +00:00
tchernobog 6a0bf4f444 - Give facelift to test_loader. Still to be finished.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@509 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-08 16:47:39 +00:00
tchernobog 17678ebbe4 - Reorganize makefile to install files in a reorganized directory
hierarchy: 
	- make room for future plugins
	- separate real plugins from their satellite helper
	data


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@484 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-03 21:04:42 +00:00
tchernobog c6dcf32fa2 - Remove all leftover references to DummyPolicy
- Adjust installation of backend header files, so users
can write their own plugins (needs to be documented)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@459 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-25 12:31:46 +00:00
tchernobog 56534edb6c - Make libpyloader a loadable plugin (warning: won't work
on Window$ unless you change the string "libpyloader" to
"pyloader" into main.cc)
- Fix Makefile to support module creation and loading
- 2DO: 
	- Add a class into backend to load and manage plugins
	- Install plugins into separate directory
	- Remove hardcoded paths


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@458 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-25 12:21:30 +00:00
fpaparel 7110279f53 - The grafical interpreter now works
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@388 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-22 22:45:06 +00:00
tchernobog 2e1a699b65 - This is a save point (everything compiles again) ;-)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@369 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 11:30:19 +00:00
fpaparel 4482b98df7 - fixed a number of bugs
- added dummy_policy written in C++
- the interpreter is now finished (hopefully)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@366 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 11:09:55 +00:00
tchernobog 8c05219cec - Add newlines at the end of source files. I hope not having to do this
frequently! (it's a two-liner script, but nevertheless...)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@355 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-19 22:36:24 +00:00
tchernobog 07b0cd2687 - Fix compilation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@343 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-17 23:33:35 +00:00
fpaparel 759dfdad25 - added console interpreter
- added string_utils

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@342 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-17 22:19:25 +00:00
tchernobog 3ba6b90f30 - Add missing files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@338 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-17 16:08:54 +00:00
tchernobog 5554ec2256 - Initial split of libpyloader from libbackend. Will need rework
in order to:
  - fix wrong design
  - fix include paths
  - fix installation of header files


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@333 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-16 21:29:51 +00:00
fpaparel 6d5e9270a8 - added few frontend classes
- updated others from backend

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@330 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-15 22:58:18 +00:00
fpaparel 146b3c99cc - Now all backend classes are present (not all complete)
- Can't compile when trying to link with Python
         + check -pedantic parameter
         + when compiling main.cc there is no -I/..../Python parameter


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@321 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-13 11:32:05 +00:00
fpaparel e2a0c3f248 - added scheduler and other incomplete backend classes
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@319 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-12 17:12:54 +00:00
tchernobog d6a19ca35d - Write code for the graphical terminal widget
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@315 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-10 20:44:48 +00:00
tchernobog 87558b5c26 - Change filenames to follow a consistent naming scheme
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@307 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-09 19:43:24 +00:00
tchernobog 68a0cef9d9 - Fixed code to follow function naming conventions a bit more
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@306 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-09 19:33:35 +00:00
fpaparel e8b28cc2ec - Added some source code
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@304 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-09 18:51:26 +00:00
fpaparel 8f02d11b0a - Added some source in the backend lib
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@293 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-06 21:37:32 +00:00
fpaparel b1822d7284 - Can't compile source. Need help...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@284 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-02 13:46:48 +00:00
tchernobog fc8d5cb258 - Make inserting filenames into vector simpler
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@281 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-01 14:07:09 +00:00
tchernobog 420a7f0e95 - Reorganize sources to split them across three parts:
- The main program, the frontend
	- A pyton loader library
	- The backend library
Happy hacking.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@240 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-01-27 17:57:53 +00:00
tchernobog 26f88aa4cf - Separate work in a main program and two libraries. This is experimental, and
ideally it should be a target to work towards decoupling
- Still more experimental, added support for visibility exports from DSOs. Need
testing from someone with GCC 4.0


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@206 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-01-26 18:31:23 +00:00
tchernobog 72fac2b901 - Added support for command line option parsing
- Creates a vector with filenames to be opened; not actually useful now,
it's already in place when it'll be needed.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@191 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-01-25 17:50:36 +00:00
tchernobog 3c1883fafd - Lay out directory for keeping tests
- Create Makefile for sources, add main.cc that just prints the 
license as a test for the rules.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@175 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-01-15 19:40:02 +00:00