Delphi like packages lazarus / 6-IDE-CodeTools ---------------------------------------------------------------------- thommy · 2007-07-19 21:11 Hello! Because of the relative long compiling time it would be great, if only the new installed package would be nessessary to compile. At the moment it is impossible because of the linker. So you have to compile the whole ide to install a new component. Can anybody change the linker? Another sudggestion. Why not delphi like packages in source code. Then one must write a piece of code to convert the delphi package in a lazarus package with the advantage, that you can install delphi packages into lazarus ide, if the source code is compatible with freepascal. Or is tehere such a tool alredy? greetings thommy ---------------------------------------------------------------------- felipemdc · 2007-07-20 06:14 Quote from: "thommy"if only the new installed package would be nessessary to compile. http://wiki.lazarus.freepascal.org/packages Quote At the moment it is impossible because of the linker. Why do you think that? 2.2 comes with our own internal linker, which greatly reduces linking time, but dynamic packages still don't work. ---------------------------------------------------------------------- Almindor · 2007-07-20 11:01 Dynamic packages are deemed useless mostly. They would only be truly useful if we had stable ABI in the RTL and proper library compilation (as in .so etc.) in unix AND internal linker on ALL platforms where lazarus runs. It's useless also because it would be platform-bound anyway. eg: a compiled component would only run on that which was compiled on. So unless you want to sell them, it's useless and only makes more work for you to distribute all the binaries (windows, linux, 64bits etc.) ---------------------------------------------------------------------- Zaher · 2007-07-21 11:48 Dynamic packages or Dynamic Library It useful to save the space, and the important for me it for share the code/library between the main application and the its plugins I meant the plugins object in DLL must see the same object Application:TApplication in the main application. If the linker make RTL library as and external DLL when i compile the project (DLL not package to design time) the dll generated after compile my project in the same directory with same options that passed to FPC. ---------------------------------------------------------------------- L505 · 2007-09-22 21:00 Quote from: "Almindor2"Dynamic packages are deemed useless mostly. They would only be truly useful if we had stable ABI in the RTL and proper library compilation (as in .so etc.) in unix AND internal linker on ALL platforms where lazarus runs. It's useless also because it would be platform-bound anyway. eg: a compiled component would only run on that which was compiled on. So unless you want to sell them, it's useless and only makes more work for you to distribute all the binaries (windows, linux, 64bits etc.) It appears this way if you look at it on the surface from an open source perspective. But look deeper. I'm going to use an analogy here. It's a rant. Take it with some SALT and PEPPER. If you had to recompile the linux/bsd kernel each time you wanted to install a new program (say apache, midnight commander, fpc) this would be fun and enjoyable and purposeful (and time well spent)? The problem with recompiling the entire lazarus IDE or recompiling the entire linux kernel each day - is that end users get extremely pissed off at such a daunting and obnoxious task (not to mention, no one has time for such lunacy). Only nerds that have no lives and no friends would sit in front of their computers recompiling their operating system each day, and their kernel, and lazarus, and FPC, and 6 million other tools on their drive. The idea with packages is similar to the idea of installing programs on an operating system. You do not have to recompile the linux/bsd kernel each time you add a new program to your computer.  You may have to compile the program or plugin sources itself, like on Gentoo, but not the entire operating system or kernel that hosts the program! I mean, since computers are getting so much faster with so much memory and so big hard drives, why NOT compile the operating system and kernel daily? What is the point o NOT doing something as naive as this? Isn't it fun and doesn't it serve a purpose? Isn't it making use of valuable developer time? Don't you just love it when someone uploads a new website to the internet.. and you have to redownload the entire internet and recompile the entire internet because the internet was never modularly designed? I personally have a fast enough computer that when I download and compile the entire internet, it's done in 50 seconds without any parse errors. And it makes it really easy for people that are just trying out the internet for the first time too. These newcomers to the internet love having to compile the entire internet just to get one web page viewed and working. Similarly, newcomers to lazarus and even experienced lazarus users just love wasting our valuable time recompiling the IDE and having no way to distribute plugins without f**ing up a stable copy of lazarus. Sure, you can teach them how to modify a stable copy of lazarus but who's to know if that new component source doesn't include bugs? Can you unplug these bugs modularly, or are the bugs hardcoded into the IDE sources?  Can you quickly uninstall and install plugins to determine which plugin is causing the problem, or do you have to recompile the entire internet and operating system and IDE each time in order to find the f**ked up component that is causing the IDE to crash? Selling components doesn't have much to do with the benefits of a plugin system. Neither does closed source vs open source have much to do with the benefits.  Just think about the operating system.. each time someone wanted to install a new EXE on windows or a new ELF on unix, someone has to recompile the entire operating system and entire kernel (making it an unstable non standard kernel and os). ---------------------------------------------------------------------- antonio · 2007-09-22 23:34 Quote from: "L505"  Just think about the operating system.. each time someone wanted to install a new EXE on windows or a new ELF on unix, someone has to recompile the entire operating system and entire kernel (making it an unstable non standard kernel and os). AFAIK, it is not a permanent situation, it is an FPC limitation. ---------------------------------------------------------------------- Almindor · 2007-09-23 15:18 Considering the fact that Lazarus re-links itself (it doesn't really recompile itself, only very small parts touched by the packages) in about.. 10 seconds, and even with big packages, the whole time I need to ONE TIME wait to get installed (eg: with glscene) is about 30-40 seconds, I really must ask myself where you got that logic from. It's useless to go to great lengths to save people 40 seconds of ONE TIME COMPILATION. Even if it was 1 hour! Oh and btw. linux IS so unstable as you say. You DO need to recompile pretty much everything. Distroes work, because they got packages which are specifically compiled for them. Try to run a binary from Ubuntu on some older Suse for example ---------------------------------------------------------------------- antonio · 2007-09-23 15:44 Quote from: "Almindor2" Lazarus re-links itself, it doesn't really recompile itself If you are saying, I believe. I think Lazarus Project is technically well directed. In other matters as well, Lazarus Bounties is a good example. ---------------------------------------------------------------------- bee · 2007-09-24 03:06 Lars got a point. Come on guys, we're living on the twenty-first century now. Plug-and-play capable architecture is a basic feature demanded by users, not just for hardware but also and especially for software. It's not only about technical issues. Of course, we all here know that Lazarus is a great tool, even in some aspects are better than commercial ones. But, how can a common newcomer user would believe Lazarus a mature product when it has no support for basic features of a modern IDE? ---------------------------------------------------------------------- Vincent Snijders · 2007-09-24 07:37 Quote from: "bee"But, how can a common newcomer user would believe Lazarus a mature product when it has no support for basic features of a modern IDE? This question cannot be answered in this forum, ask on the free pascal compiler forums. ---------------------------------------------------------------------- antonio · 2007-09-25 00:31 Quote from: "bee" But, how can a common newcomer user would believe Lazarus a mature product when it has no support for basic features of a modern IDE? He should believe Lazarus and FPC projects are mature projects and will solve the problem. If this is a problem. Organizationally, open source projects are better than commercial ones, people are engaged. ---------------------------------------------------------------------- Marc · 2007-09-25 11:06 Packages are a basic feature ? I wonder what advanced features are. ---------------------------------------------------------------------- antonio · 2007-10-02 16:23 I think what bee means is that Lazarus could better "sell" itself by improving some features. Of course it can be true, specially on Windows. I only think this is a hasty way to evaluate the project.