brain-labs / brain

An esoteric programming language compiler on top of LLVM based on Brainfuck
https://brain-labs.github.io/brain/docs/html/index.html
GNU General Public License v3.0
133 stars 19 forks source link

Makefile rules build and install are mixed and confused #29

Closed ryukinix closed 5 years ago

ryukinix commented 8 years ago

This is very annoying. The build triggers are getting sudo permissions to modify the OS filesystem on building the brain compiler.

I think it is better move all the statements for linking/creating libraries, move binaries and other stuffs to install trigger and keep build rule to just... build.

This is really more simple and clear.

So the INSTALL process will be:

make
sudo make install

I'm really angry about that, because I'm pain with the idiomatic way to build packages on ArchLinux don't allow to modify the OS before build the package. All the files need be put a sandbox, so after compressed, the system get all the files whose will be inserted on operating system and that way we can know exactly the files installed after it. That way is very simple remove the package.

Yes, it's very bad.

photo_2016-10-01_22-44-59

luizperes commented 8 years ago

Thanks for you comment @ryukinix, I actually felt the same way! I will change it for sure. At first I was trying to include the Brain compiler with the LLVM folder for front end, but I think that I will switch it with the local path. What do you think?

luizperes commented 8 years ago

@rafaelcn

rafaelcn commented 8 years ago

I agree, but what do you mean by local path @luizperes? usr/local/?

luizperes commented 8 years ago

Actually, @rafaelcn, I was thinking about something else. What do you think about ~/.local/?

rafaelcn commented 8 years ago

Great, looks good. I'd place it on: ~/.local/lib/brain/io.ll.

ryukinix commented 8 years ago

You can make this in next release? By the way, would be really if a full changelog been wrote in the next release and so on.

thanks. i'm wating for that fix to reduce the pain of my Obsessive Compulsive Disorder.

luizperes commented 8 years ago

I will certainly do it @ryukinix!! No problem! I have the same problem (that was actually bothering me for a long time too)

luizperes commented 7 years ago

taking off milestone 1.1

ryukinix commented 7 years ago

@luizperes credo

luizperes commented 7 years ago

I might put it back, @ryukinix :P

luizperes commented 7 years ago

I believe I fixed it here @ryukinix . Could you check it please?

rafaelcn commented 7 years ago

What do you think of placing it inside $HOME/.local/lib/... instead of the plain home folder @luizperes?

luizperes commented 7 years ago

isn't it on ~/local/lib?... or you want to put it there for a reason? //(omit the libraries)?

rafaelcn commented 7 years ago

Ops, my bad. Edited the comment, can you please take a second look?

luizperes commented 7 years ago

As talked to you on chat, I will leave it on: $HOME/.brain/lib, ok?

luizperes commented 7 years ago

That was done here

ryukinix commented 7 years ago

keep build just... to build.

luizperes commented 7 years ago

Hi @ryukinix ! Thanks for the hint! I'm reopening this issue!

luizperes commented 7 years ago

Done

luizperes commented 7 years ago

This shit is not good enough xD

ryukinix commented 7 years ago

libs/install.sh this file is evil.

Please, build the binary without the need to modify the operating system, injecting files or whatever be.

rafaelcn commented 7 years ago

Well, should it ask for the user if he wants to install in a pre defined folder <folder> or just build the lib and brain in bin?

ryukinix commented 7 years ago

Questions on makefile build no... :( there is no way to build without modifying the system? Build is just to build, for modify we already have the install rule....

ryukinix commented 7 years ago

Well, should it ask for the user if he wants to install in a pre defined folder or just build the lib and brain in bin?

I think anything about that should be only related to make install. And I think that making questions on makefile is not a good idea. Brakes automation. You can just do that by specifying params, overridden variables of make. make PREFIX=/usr install and so on...

rafaelcn commented 7 years ago

Well, you got the point. I wasn't referring to it in the make build, I was talking about make install. But you got a point, we can change the prefix to change installation binaries, this issue will be put on hold as me and @luizperes are talking about merge the io/math library in Brain itself.

luizperes commented 7 years ago

initial external scripts should die! :D

(if the user wants to extend Brain using external libraries will be still possible, but all the dependencies to clang (not clang++_) should be removed!

ryukinix commented 5 years ago

Closed due lack of activity (> year 1).