Heroin/meth Addicted Boyfriend

My boyfriend and I have been together for 8 months. He was using herion when we first got together and I begged him to get off it. When he quit he went full blown into meth. He was already using but now it was a full blown addiction. Switched poisons. I begged him to get off of rhat too but he had no clean or sober place to live, no job, and even if he wrnt to rehab he would come home to a dope house. Eventually I started using it with him (wrong, I know..) But I still wabted him to get clean with me. Finally him and I had a sober place to live. So I got clea. and so did he. Now he is using again and I feel heartbroken and devastated. I dont want to go back to using again though.. Should I love him from a distance or let him go completely??
He'll get you high before you get him clean. He has to want to be drug fee. Move on.
I had to tell my boyfriend that when he came home from work today, that he'd either have to pack a bag and leave, or stay and get clean with me and his younger sister. I used with him (recovering addict, enabler) so he's feeling very betrayed. It's not like I don't talk about how much I hate drugs every day for months now, but the drugs have had a profound effect on his mind. He's paranoid and has lost all self control and normal perspective. I'd planned to just wait it out and let him get clean and wake up on his own, because he's done it before. But I finally reached out and told my sister exactly what is going on with us and she made the decision to tell my dad, who is also a recovering addict. I feel like he's literally asking me to choose between my four year old son, and him. I choose my son. But it hurts so bad. I love him. He scares me though and got very angry when I told him that if he refused to leave, I'd have to call the cops because my son, my dog and I need a safe place to stay. I'm so sad, and feel abandoned, but I know I really am doing the right thing. I can't endanger my son anymore. That is a boundary that should've never been crossed. I will un cross it.